QDialog から継承したカスタム QMessageBox を実装しました。(qt 4.8.6 を使用)
問題は、すべてのカスタム メッセージ ボックスが QMessageBox 静的関数とはまったく異なって見えることです。
- QMessageBox::情報(...)
- QMessageBox::クリティカル(...)
- QMessageBox::質問(...)
- QMessageBox::警告(...)
それらは、サイズ、フォント、フォントサイズ、アイコン、背景 (静的な qmessagebox には 2 つの背景色があります) などで異なります。
私が見つけた唯一のことは、オペレーティング システム固有のメッセージ ボックス アイコンにアクセスする方法でした。
QStyle *style = QApplication::style();
QIcon tmpIcon = style->standardIcon(QStyle::SP_MessageBoxInformation, 0, this);//for QMessageBox::Information
フォントまたはスタイル全体に似たものはありますか。
QMessagebox がオペレーティング システム固有のスタイルガイドを使用していることは知っています。しかし、私はそれらを見つけることができません。ここでソースを表示できます。
だから私の質問は、QDialog から継承されたカスタム QMessageBox を静的な QMessageBox::... 関数のように見せる方法ですか?
(この静的関数呼び出しで作成された QMessageBox オブジェクトにアクセスできれば、すべてのスタイルとフォントのパラメーターを読み取ることができますが、これは不可能です。)