强制QDialog保持打开状态
Forcing QDialog to stay open
当调用对话框的accept()
插槽时,我应该如何最好地强制QDialog保持打开?我正在考虑重新实现该函数,以使对话框的执行返回而不隐藏对话框,但想知道是否有更好的方法来实现这一点。
比起使用QDialog,我更愿意使用QDockWidget来实现这个效果。
- 删除允许移动dock的功能(QDockWidget::DockWidgetMovable)
- 将dock小部件设置为浮动(setFloating(true))
- 将dock小部件上的项目连接到主窗口上的适当信号和插槽
引用
- Dock Widgets示例 <
- QDockWidget文档/gh>
您需要使您的QDialog
非模态,通过调用show
而不是exec
,并使用自定义信号而不是accept
,因为accept
关闭窗口。然后用exec
调用后的代码将该信号连接到主窗口中的插槽。
在这种情况下,你应该保持一个引用/指针到你的QDialog某处(作为一个成员在你的主窗口类,或一个静态变量内的函数,打开它),以避免创建对话框的多个实例,你需要确保你只连接信号/槽一次。
相关文章:
- Constexpr替代了新的放置方式,可以让内存中的对象保持未初始化状态
- 我不断收到 [错误] ID 返回 1 退出状态错误,但看不到问题所在
- OSX MetalKit CVMetalTextureCacheCreateTextureFromImage失败,状态:
- std::future_error:无关联状态
- 如何避免LED在循环状态变化中闪烁?
- boost 是否有按特殊类型值编码状态"compact optional"?
- 为什么系统函数总是在C++中返回已转移的退出状态?
- C++ 中的编译错误:未定义对"主"的引用 collect2:错误:ld 返回 1 个退出状态
- 当可输入框在窗口中处于活动状态时获得通知的任何方法
- 检查两个节点在子节点上是否具有相同状态的更优雅的方法
- 将有状态的 lambda 传递到 C 样式函数中,而无需上下文参数
- 在 nullptr 上调用无状态类的非静态成员函数是否合法?
- 编译问题:在函数"_start"中:未定义对"主"的引用 collect2:错误:ld 返回 1 个退出状态
- C++部分概念 id:显式模板规范顺序/第一个参数的特殊状态的原因是什么?
- 试图在崇高中奔跑. 错误 已发生: 收集2.exe: 错误: ld 返回 1 退出状态
- 在容器上移动分配:以前包含的对象的状态
- 自定义对话框(源自QDialog)不会关闭(Android)
- collect2:错误:ld 返回 1 个退出状态未定义的引用
- 当父级最小化时,使 QDialog 保持打开状态
- 强制QDialog保持打开状态