【问题标题】:Standard "About" dialog in QtQt 中的标准“关于”对话框
【发布时间】:2011-07-28 13:19:57
【问题描述】:

在 Qt 中实现“关于”应用程序对话框的标准方法是什么?您知道,当您从应用程序菜单中选择帮助 > 关于... 时会弹出的那种。我正在使用 Qt Designer 来布局我的主窗口,但我不需要任何花哨的东西。最好用 2 行代码来完成,而不是在 Qt Designer 中创建新类或新表单...

【问题讨论】:

    标签: qt dialog designer


    【解决方案1】:

    在我的程序 Wallch (http://sourceforge.net/projects/wall-changer/) 中,我添加了一个新的 qt 设计器表单类。

    效果很好!

    (我提到了我的应用程序的名称,所以如果你想检查项目,而不是因为它是我的应用程序)

    【讨论】:

      【解决方案2】:

      您可以使用QMessageBox::about 来简单地了解对话框,或者如果您需要更多特别/花哨的东西,也可以编写自己的 QDialog 子类。

      【讨论】:

        【解决方案3】:
        1. 创建一个表单。右击Project,Add New..,然后在Files and Classes中选择Qt,在右侧选择Qt Designer Form Class,然后点击choose..
        2. 选择没有按钮的对话框并单击下一步。
        3. 为其命名,例如“关于”。
        4. 在设计器中打开 About.ui 并根据需要更改此窗口,即添加图标、文本、按钮(可能只有确定按钮)并保存。
        5. 在 mainwindow.h 添加这个对象,即About *about;
        6. 在mainwinodw.cpp中实例化它,about = new About(this);如果你把0而不是this,它就不是一个“模态”窗口,所以在括号里加上this
        7. 转到设计器并在动作编辑器中右键单击菜单项并选择转到插槽 -> 触发。
        8. 在该插槽中写入about->show();

        【讨论】:

          【解决方案4】:

          这是我使用 Python/PySide2 的方法:

          首先设置菜单/操作(我在我的QMainWindow 子类的__init__ 函数中进行了此操作):

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

          然后创建一个新的slot来调用QMessageBox.about

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

          【讨论】:

            猜你喜欢
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 2012-04-25
            • 1970-01-01
            • 1970-01-01
            • 2011-03-08
            • 1970-01-01
            • 1970-01-01
            相关资源
            最近更新 更多