1

QDialogBu​​ttonBoxウィジェットは、さまざまなプラットフォームのユーザーの期待に応えるために、ボタンを自動的に並べ替えます。この動作を実行したいのですが、独自のボタンラベルを使用します(たとえば、「OK」ではなく「インポート」)。どうすればこれを達成できますか?QMessageBoxを使用することは可能ですか、それとも独自の実装を作成する必要がありますか?PyQt4とQtDesignerを使用してアプリケーションを作成しています。

AquaおよびCleanlooksスタイルのOSX上のQDialogBu​​ttonBoxの以下のスクリーンショットを参照してください。

QDialogBu​​ttonBox

4

1 に答える 1

5

QDialogButtonBoxこれを行うことはできますが、最初にダイアログを配置するためのダイアログを作成する必要があります(些細な作業量)。

...
auto buttons = new QDialogButtonBox( this );
buttons->addButton( "Import", QDialogButtonBox::AcceptRole );
buttons->addButton( "Cancel", QDialogButtonBox::RejectRole );
...

ドキュメントはここにあります(C ++ですが、それに従うことができると確信しています)。一般的な考え方はButtonRole、ボタンを再配置するために現在のスタイルのレイアウトで使用されるというものです。

于 2013-03-24T12:23:31.303 に答える