【问题标题】:QDialog window modalityQDialog 窗口模式
【发布时间】:2018-01-31 21:03:45
【问题描述】:

有没有办法用 exec() 打开一个 QDialog 窗口模式? open() 立即返回,exec() 显示对话框应用程序模式而不是窗口模式。 如何充分利用这两种方法?

【问题讨论】:

    标签: c++ qt user-interface dialog modal-dialog


    【解决方案1】:

    Qt 中存在window-modality

    例如,以这种方式从 QWidget 派生类中显示对话框,将使对话框成为其父级的窗口模式:

      QDialog d(this);
      //...
      d.setWindowModality(Qt::WindowModal);
      d.exec();
    

    作为thisQWidget,设置为QDialog 父级。

    【讨论】:

    • 我已经尝试过了,但我的子对话框一直拒绝显示,除非我提供 NULL 作为其父级。我通过从对话框的构造函数中删除 setWindowFlags(Qt::WindowCloseButtonHint) 来修复它。
    猜你喜欢
    • 2019-06-01
    • 1970-01-01
    • 2012-02-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多