4

QMessageBox をカスタマイズする必要があります。フレームとタイトル バーを削除し、独自のタイトル バーと閉じるボタンを追加する必要があります。また、標準のボタンを置き換え、おそらくボックスの背景色をやり直す必要があります。

それをサブクラス化して上記を達成することは可能ですか? これの例はどこにありますか?または、Dialog をサブクラス化し、独自のメッセージ ボックスを作成する必要がありますか?

4

2 に答える 2

1

カスタム ウィンドウに関するこのチュートリアルが役立つ場合があります。これはフランス語ですが、コード例は英語です。独自のタイトル バーを作成し、ウィンドウを作成し、新しいタイトル バーをそれに取り付ける方法を示しています。私は以前にそれを経験しましたが、あなたがそれをやったら、それはかなり簡単です。

于 2012-09-14T15:12:18.873 に答える
0

QMessageBox または QDialog をサブクラス化する必要はありません。Qt::FramelessWindowHintフレームとボタンを削除するパラメータを QMessageBox に渡すことができます。Qt スタイル シートを使用して、QMessageBox の背景とボタンのスタイルを設定することもできます。このようなものが動作するはずです:

msgBox->setStyleSheet("QDialog {background-color: red;}"
                      "QPushButton {background-color: blue;}")

私はこれをテストしていませんが、うまくいくか、かなり近いはずです。

于 2012-09-14T09:49:21.313 に答える