QFileDialog
スタイルシートを設定しようとしていますが、効果がありません。コードは次のとおりです。QFileDialogでスタイルシートを設定するには?
dial = QFileDialog()
dial.setStyleSheet(self.styleSheet())
path = dial.getOpenFileName(self, "Specify File")
これが機能しない理由は何ですか?
QFileDialog
スタイルシートを設定しようとしていますが、効果がありません。コードは次のとおりです。QFileDialogでスタイルシートを設定するには?
dial = QFileDialog()
dial.setStyleSheet(self.styleSheet())
path = dial.getOpenFileName(self, "Specify File")
これが機能しない理由は何ですか?
私はいつも親を設定し、可能な限りスタイルシートの継承を使用することをお勧めします。そうすれば、QFileDialog
という静的関数を使うこともできます。
ekhumoros suspicionネイティブファイルダイアログがスタイルシートを無視することが確認できます。それは実際にWindows上で行います。
Qtの組み込みファイルダイアログを使用した例です。
を使用すると、QFileDialog
のインスタンスでsetStylesheet
を呼び出しても効果はありません。これらの関数は独自の内部ファイルダイアログを作成し、スタイルシートは無視されます。
独自のスタイルシートを使用する場合は、あなたが作成したファイル・ダイアログのインスタンスを使用する必要があります。しかし
dial = QFileDialog()
dial.setStyleSheet(self.styleSheet())
dial.setWindowTitle('Specify File')
dial.setFileMode(QFileDialog.ExistingFile)
if dial.exec_() == QFileDialog.Accepted:
path = dial.selectedFiles()[0]
、これはあなたが得ることを意味するQtの組み込みのファイルダイアログではなく、あなたのプラットフォームのネイティブなファイルダイアログよりも
PS:あなたはネイティブファイルダイアログとスタイルシートは、それには影響はありませんのですか場合
は、唯一の回避策は、Qtの組み込みのファイルダイアログにフォールバックすることになります。これを行うには、ちょうどこの行を追加します。
dial.setOption(QFileDialog.DontUseNativeDialog)
のように見えます
あなたは上記のコードを実行するときに何が起こるかを説明できますか?あなたは何らかのエラーを受け取りますか? –
いいえ、getOpenFileNameウィンドウは白い標準ウィンドウです。ここでは、暗い灰色で、他のいくつかの変更が必要でした。スタイルには背景色/色があり、他のパラメータが指定されています。アプリケーションのテーマを一定にしようとしていて、QFIleDialogの外観を編集することはできませんでした... – Dariusz