web-dev-qa-db-ja.com

Qtの標準の[バージョン情報]ダイアログ

Qtで「About」アプリケーションダイアログを実装する標準的な方法は何ですか?ご存知のとおり、アプリケーションメニューから[ヘルプ]> [バージョン情報...]に移動するとポップアップする種類です。 Qt Designerを使用してメインウィンドウをレイアウトしていますが、特別なものは必要ありません。 Qt Designerで新しいクラスや新しいフォームを作成する代わりに、2行のコードでそれを行うと便利です...

25
Matt Montag

QMessageBox :: about を使用してダイアログについて簡単に説明するか、さらに特別で凝ったものが必要な場合は独自のQDialogサブクラスを作成できます。

25
Frank Osterfeld
  1. フォームを作成します。 「プロジェクト」、「新規追加」を右クリックし、「ファイルとクラス」で「Qt」を選択し、右側の「Qtデザイナフォームクラス」を選択して、「選択」をクリックします。
  2. [ボタンのないダイアログ]を選択して、[次へ]をクリックします。
  3. 「About」などの名前を付けます。
  4. デザイナでAbout.uiを開き、必要に応じてこのウィンドウを変更します。つまり、アイコン、テキスト、ボタン(おそらく[OK]ボタンのみ)を追加して保存します。
  5. Mainwindow.hで、このオブジェクトを追加します。つまり、_About *about;_
  6. Mainwinodw.cppでインスタンス化し、about = new About(this);thisの代わりに_0_を配置すると、「モーダル」ウィンドウにならないため、thisを追加します。括弧。
  7. デザイナに移動し、アクションエディタでメニュー項目を右クリックして、[スロットに移動]-> [トリガー]を選択します。
  8. そのスロットにabout->show();を書き込みます。
5
Mubin Icyer

私のプログラムWallch( http://sourceforge.net/projects/wall-changer/ )で、新しいqtデザイナーフォームクラスを追加しました。

それはうまくいきます!

(アプリケーションの名前を参照したので、プロジェクトを確認したい場合は、それが私のアプリであるためではありません)

3
Leon Vitanos

Python/PySide2でそれを行った方法は次のとおりです。

最初にメニュー/アクションを設定します(これは、私の QMainWindow サブクラスの__init__関数内で行いました):

menu = self.menuBar().addMenu('&Help')

about_action = QAction('&About', self)
about_action.triggered.connect(self.about)
menu.addAction(about_action)

次に、呼び出す新しいスロットを作成します QMessageBox.about

@Slot()
def about(self):
    QMessageBox.about(self, 'title', 'text')
0
Mike Conigliaro