2023-04-19  dark mode

Qt5でダークモードのサンプルソース

Qt5のアプリケーションをダークモードにする

  • ダークモードにするには

    以下の部分を 起動時にセットしてから Window を表示します。
    QMainWindow でも QDialog でも QWidget でも同じです。

main.cpp
// ダーク色 QColor palette_Window = QColor(53 ,53 ,53 ); QColor palette_WindowText = QColor(255,255 ,255 ); QColor palette_Base = QColor(25 ,25 ,25 ); QColor palette_AlternateBase = QColor(53 ,53 ,53 ); QColor palette_ToolTipBase = QColor(255,255 ,255 ); QColor palette_ToolTipText = QColor(255,255 ,255 ); QColor palette_Text = QColor(255,255 ,255 ); QColor palette_Button = QColor(53 ,53 ,53 ); QColor palette_ButtonText = QColor(255,255 ,255 ); QColor palette_BrightText = QColor(255,0 ,0 ); QColor palette_Link = QColor(42 , 130, 218); QColor palette_Highlight = QColor(42 , 130, 218); QColor palette_HighlightedText = QColor(0 ,0 ,0 ); QPalette darkPalette; darkPalette.setColor(QPalette::Window , palette_Window ); darkPalette.setColor(QPalette::WindowText , palette_WindowText ); darkPalette.setColor(QPalette::Base , palette_Base ); darkPalette.setColor(QPalette::AlternateBase , palette_AlternateBase ); darkPalette.setColor(QPalette::ToolTipBase , palette_ToolTipBase ); darkPalette.setColor(QPalette::ToolTipText , palette_ToolTipText ); darkPalette.setColor(QPalette::Text , palette_Text ); darkPalette.setColor(QPalette::Button , palette_Button ); darkPalette.setColor(QPalette::ButtonText , palette_ButtonText ); darkPalette.setColor(QPalette::BrightText , palette_BrightText ); darkPalette.setColor(QPalette::Link , palette_Link ); darkPalette.setColor(QPalette::Highlight , palette_Highlight ); darkPalette.setColor(QPalette::HighlightedText, palette_HighlightedText ); darkPalette.setColor(QPalette::Disabled, QPalette::Text, Qt::darkGreen); darkPalette.setColor(QPalette::Disabled, QPalette::ButtonText, Qt::darkGreen); qApp->setPalette(darkPalette);

これでダークモード色になります。
Window を表示後に setPalette で変更しても変わらない色があり アプリケーションの再起動が必要になります。

サンプルダウンロード

私がアプリケーションを作成する時に利用するひな形を サンプルとして残します。
私は Qt5.9.5 を使っていますが どのバージョンでも大丈夫だと思います。

サンプル Qt5 darkmainwindow.7z  
ダウンロード 

最終更新日 2023-05-13
この記事を共有しませんか?
ブックマーク