如何将QMainWindow设置为模态窗口?

2024-01-08

我正在使用 QMainWindow 进行项目的 GUI 开发。我遇到的一个问题是当一个窗口正在运行时阻止所有其他可见窗口获取输入。

我不能使用QDialog。因为需要QMainWindow的丰富功能。

如何将特定窗口声明为模态窗口?

我尝试过QWidget::setWindowMOdality().

这是一个演示程序,我尝试过但没有成功。

#include <QApplication>
#include <QMainWindow>
#include <QPushButton>




int main(int argc, char **argv){


QApplication a(argc, argv);


    QMainWindow *w1 = new QMainWindow();
    w1->resize(500,800);
    w1->move(100,50);
    w1->show();


    QMainWindow *w2= new QMainWindow();
    w2->resize(800,500);
    w2->move(50,50);
    w2->show();

    w2->setWindowModality(Qt::ApplicationModal);


    return a.exec();

}

尝试先设置模式标志,然后显示小部件。

w2->setWindowModality(Qt::ApplicationModal);
w2->show();

您还可以使用 QWidget 构建工具栏、菜单栏和状态栏。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何将QMainWindow设置为模态窗口? 的相关文章

  • C# 和月历,选择多个日期

    我正在制作一个程序 可以帮助人们用 C 为某个部门 预订 订单 他们需要能够选择不同月份的多个日期 我更愿意拥有它 这样他们就可以单击一个日期 然后按住 Shift 键单击另一个日期以选择这两个日期之间的所有日期 并控制单击以进行单选 取消
  • OpenGL缓冲区更新[重复]

    这个问题在这里已经有答案了 目前我正在编写一个模拟水的程序 以下是我所做的步骤 创建水面 平面 创建VAO 创建顶点缓冲区对象 在其中存储法线和顶点 将指针绑定到此 VBO 创建索引缓冲区对象 然后我使用 glDrawElements 渲染
  • 如何使用 C# 以编程方式编辑 Power BI Desktop 文档参数或数据源?

    我有一个在 Power BI Desktop 中内置的报告模板 并保存为 pbix 或 pbit 文件 该模板使用DirectQuery SQL数据库作为数据源 而服务器地址和数据库名称被提取到参数中 还有一个参数包含一个ReportId
  • 如何调整 Windows 窗体以适应任何屏幕分辨率?

    我知道这是重复的问题 但我检查了所有其他相关问题 他们的答案没有帮助 结果仍然与屏幕截图 2 中所示相同 我是 C Windows 窗体新手 如截图1所示 我有Form1有一些控件 每组控件都放在一个面板中 我在 PC1 中设计了应用程序
  • 在 Mac OS X 上安装 libxml2 时出现问题

    我正在尝试在我的 Mac 操作系统 10 6 4 上安装 libxml2 我实际上正在尝试在 Python 中运行 Scrapy 脚本 这需要我安装 Twisted Zope 现在还需要安装 libxml2 我已经下载了最新版本 2 7 7
  • 以下 PLINQ 代码没有改进

    我没有看到使用以下代码的处理速度有任何改进 IEnumerable
  • 从时间列表中查找最接近的时间

    所以 这是场景 我有一个带有创建时间的文件 我想从该文件的创建时间最接近或相等的时间列表中选择一个时间 完成此操作的最佳方法是什么 var closestTime listOfTimes OrderBy t gt Math Abs t fi
  • 从 PL/SQL 调用 shell 脚本,但 shell 以 grid 用户而非 oracle 身份执行

    我正在尝试使用 Runtime getRuntime exec 从 Oracle 数据库内部执行 shell 脚本 在 Red Hat 5 5 上运行的 Oracle 11 2 0 4 EE CREATE OR REPLACE proced
  • 在 Linux 上更快地分叉大型进程?

    在现代 Linux 上达到与 Linux 相同效果的最快 最好的方法是什么 fork execve combo 从一个大的过程 我的问题是进程分叉大约 500MByte 大 并且一个简单的基准测试只能从进程中实现约 50 个分叉 秒 比较最
  • PrivateObject 找不到属性

    我的结构基本上如下所示 abstract class A protected string Identificator get set private void DoSomething DoSomethingSpecific protect
  • 关闭整数的最右边设置位

    我只需要关闭最右边的设置位即可 我的方法是找到最右边位的位置 然后离开该位 我编写这段代码是为了这样做 int POS int n int p 0 while n if n 2 0 p else break n n 2 return p i
  • C 类型命名约定,_t 或 ALLCAPS

    我一直想知道是否有任何命名约定 例如何时对类型使用全部大写以及何时追加 t 什么时候不使用任何东西 我知道当时 K R 发布了各种有关如何使用 C 的文档 但我找不到任何相关内容 在 C 标准库类型中 t看起来漂亮占主导地位 time t
  • awk 子串单个字符

    这是columns txt aaa bbb 3 ccc ddd 2 eee fff 1 3 3 g 3 hhh i jjj 3 kkk ll 3 mm nn oo 3 我可以找到第二列以 b 开头的行 awk if substr 2 1 1
  • 如何增加ofstream的缓冲区大小

    我想增加 C 程序的缓冲区大小 以便它不会过于频繁地写入 默认缓冲区是 8192 字节 我尝试使用 pubsetbuf 将其增加到 200K 原始代码 ofstream fq fastq1 cstr ios out fastq1 is a
  • 如何设置消息队列的所有者?

    System Messaging MessageQueue 类不提供设置队列所有权的方法 如何以编程方式设置 MSMQ 消息队列的所有者 简短的答案是 p invoke 对 windows api 函数的调用MQSetQueueSecuri
  • MSChart 控件中的自定义 X/Y 网格线

    我有一个带有简单 2D 折线图的 C Windows 窗体 我想向其中添加自定义 X 或 Y 轴标记 并绘制自定义网格线 例如 以突出显示的颜色 虚线 我查看了 customLabels 属性 但这似乎覆盖了我仍然想显示的默认网格 这是为了
  • 在 Qt 中播放通知(频率 x)声音 - 最简单的方法?

    Qt 5 1 或更高版本 我需要播放频率为 x 的通知声音 n 毫秒 如果我能像这样组合音调那就太好了 1000Hz 持续 2 秒 然后 3000Hz 持续 1 秒 最简单的方法是使用文件 WAV MP3 例如如此处所述 如何用Qt播放声音
  • 在二进制数据文件的标头中放入什么

    我有一个模拟 可以读取我们创建的大型二进制数据文件 10 到 100 GB 出于速度原因 我们使用二进制 这些文件依赖于系统 是从我们运行的每个系统上的文本文件转换而来的 所以我不关心可移植性 当前的文件是 POD 结构的许多实例 使用 f
  • 值和类型的简洁双向静态 1:1 映射

    我将从我想象如何使用我想要创建的代码开始 它不必完全像这样 但它是我在标题中所说的 简洁 的一个很好的例子 就我而言 它是将类型映射到相关的枚举值 struct bar foo
  • 使用 boost 异步发送和接收自定义数据包?

    我正在尝试使用 boost 异步发送和接收自定义数据包 根据我当前的实现 我有一些问题 tcpclient cpp include tcpclient h include

随机推荐

  • 在 Spark scala 中将行转换为地图

    我有数据框中的一行 我想将其转换为 Map String Any 将列名称映射到该列的行中的值 有简单的方法吗 我是为字符串值做的 比如 def rowToMap row Row Map String String row schema f
  • 在程序重新启动之间保存状态

    如何声明一个可以永远保存刺痛的变量 我的意思是 如果用户关闭并重新启动程序 该字符串值不会丢失 如何才能做到这一点 有多种不同的方法来存储应用程序的状态 该方法实际上取决于您存储的数据类型和其他要求 Options Use the Sett
  • stanford corenlp,分割句子,缩写例外

    斯坦福 Corenlp 中有指定缩写的选项吗 例如句子中 The reason pt stayed at home was to rest pt 是病人的缩写 corenlp 错误地将其分成两个句子 我想知道如何将缩写列表传递给斯坦福大学的
  • 将 MAC 地址字节数组格式化为字符串

    我正在使用此代码来查找机器的 MAC 地址 此代码直接打印 MAC 地址 但我想将其作为字符串返回 我完全困惑了 请帮忙 try InetAddress add InetAddress getByName 10 123 96 102 Net
  • Asp.net core blazor 与 .net core mvc with razor

    使用 razor 与 blazor 之间的架构差异是什么 文档建议我在使用 blazor 时必须编写一个 Web Api 是否仍然可以像传统 razor 一样传递模型对象 0 带有视觉解释的视频 我决定制作一个视频 因为有人问了有关 Bla
  • 具有输出绑定到队列的 Http 触发功能

    我在 Net5 中有一个http 触发函数 隔离函数 我很难让输出绑定适用于此 https 函数 https 函数检索对象列表 这些对象需要作为单独的消息添加到队列中 FunctionName TestQueueOutput return
  • 在 EF4 中按 ID 选择通用存储库

    因此 我尝试为基本存储库类创建一个通用的按 ID 选择方法 为了实现这一目标 我将 EF4 与 POCO 结合使用 我创建了一个带有名为 Id 的 getter 的接口 并成功修改了 T4 模板 以便在返回 PK 的所有实体中拥有通用 Id
  • 尝试在 Github .md 文件上渲染图表时出现 Mermaid 语法错误

    我已经关注了这个美人鱼教程 https mermaid js github io mermaid sequenceDiagram但是当我尝试将其放入 Github 上的 md 文件时 会出现错误 这完美地适用于现场编辑 https merm
  • 我什么时候应该关闭在无状态会话 bean 中创建的 JMS 连接?

    我有一个关于何时关闭在无状态会话 Bean EJB 中创建的连接的一般性问题 连接到 ActiveMQ 并且它们是在 bean 的构造函数中创建的 然后在方法中使用该连接 我想知道关闭该连接的适当时间 地点是什么时候 有一个单独的方法来关闭
  • istream 提取运算符:如何检测解析失败?

    如何检测 istream 提取是否失败 string s x stringstream ss s int i ss gt gt std ios hex gt gt i 编辑 虽然问题标题涵盖了这一点 但我忘了在正文中提及 我真的想检测失败是
  • 在 TFS 中,如何更正现有变更集上工作项的链接

    将更改集签入 VS2010 TFS 中的源代码管理后 如何更正与签入相关的工作项 例如 如果我意识到还有另一个工作项应该链接到变更集 或者它是一个错误修复并且链接到错误的错误工作项 您无法从变更集 UI 中更改它 但可以从大多数工作项 UI
  • Google Cloud SQL 上的 1290 错误

    我今天在使用 MySQL Workbench 时才开始收到此错误 并注意到它早在周六就出现在我的应用程序中 还有人收到吗 知道可能是什么原因造成的吗 ERROR错误代码 1290 MySQL 服务器正在使用 read only 选项运行 因
  • Microsoft Visual Studio 2017 依赖于每个 Xamarin 操作

    我最近安装了 Visual Studio 2017 当我创建 Xamarin android 项目或单击 xamarin 设置时 它会挂起 当单击任意位置时 它会显示 Microsoft Visual Studio 正忙 Xamarin 版
  • 如何将 setOnFocusChangeListener 与 RecyclerView 结合使用?

    我在 RecyclerView 的适配器类中的 onBindViewHolder 上有以下内容 holder answerEditText setOnFocusChangeListener new View OnFocusChangeLis
  • 在 VS2010 中将设计器与 WPF 的 XAML 窗口分离

    我在 Visual Studio 2010 中没有看到用于将设计器窗口与 WPF 的 XAML 窗口分开的按钮 我有三个屏幕 我想要一个全屏 XAML 窗口和一个全屏设计器窗口 像往常一样打开 XAML 文件 在解决方案资源管理器中 右键单
  • 我如何打开不同的linux终端以在python中输出不同类型的调试信息?

    我需要将不同的信息输出到不同的终端实例 而不是在同一输出流中打印它们 例如 std err 或 std out 例如 我有 5 种信息说 A E 需要显示在同一桌面上的不同终端窗口上 看起来像 终端1 终端2 端子3 端子4 端子5 我知道
  • 用前导 0 填充计数器到 9,然后用 php 删除前导零

    尝试用前导 0 填充最多 9 个 然后删除 01 02 03 04 05 06 07 08 09 10 11 12 14 到目前为止我有这个 您还可以使用str pad http us php net manual en function
  • Firefox 和 Opera 中的 Webfont 平滑和抗锯齿

    我的网站上使用了定制的网络字体 为了设置渲染输出的样式 我使用了以下代码 webkit text stroke width 05px webkit text stroke color white webkit font smoothing
  • 如何只加载某些层的权重?

    我想获取某些层的权重 不是全部 因为架构不同 来自model trained并初始化model untrained用它 我怎样才能用 Keras 做到这一点 如果你有一个函数create model 它返回一个 Keras 模型 examp
  • 如何将QMainWindow设置为模态窗口?

    我正在使用 QMainWindow 进行项目的 GUI 开发 我遇到的一个问题是当一个窗口正在运行时阻止所有其他可见窗口获取输入 我不能使用QDialog 因为需要QMainWindow的丰富功能 如何将特定窗口声明为模态窗口 我尝试过QW