【Qt】QInputDialog setGeometry: Unable to set geometry 问题

QInputDialog setGeometry: Unable to set geometry 问题

文章目录

    • I - 问题背景
    • II - 解决办法
    • III - 参考链接

I - 问题背景

创建了一个 QMainWindow 并在上边创建了布局,尝试调用 QInputDialog 的 getInt 静态方法,结果运行时出现了以下警告

tui 复制代码
QWindowsWindow::setGeometry: Unable to set geometry 120x30+860+477 (frame: 136x69+852+446) on QWidget/"QInputDialogClassWindow" 
on "\\.\DISPLAY1". Resulting geometry: 122x108+860+477 (frame: 138x147+852+446) margins: 8 , 31, 8, 8 minisize: 122x108 maximum size 
524287x108 MINMAXINFO maxSize=0,0 maxpos=0,0 mintrack=138,147 maxtrack=524303,147)

我这里的代码是

cpp 复制代码
int defaultValue(1), minimumVal(0), maximumVal(ui->textEdit()->document()->blockCount()), step(1);
bool ok(false);

int line = QInputDialg::getInt(this, tr("Application Name"), tr("Input Name"), defaultValue, minimumVal, maximumVal, step, &ok);

网上参考了很多链接都没办法解决问题

比如 new 出来,父控件设置为 this ,设置最小尺寸 setMinimumSize 等等的

II - 解决办法

最终找到了解决方法 ,设置 Qt::Flags 为以下内容

cpp 复制代码
(Qt::WindowCloseButtonHint|Qt::MSWindowsFixedSizeDialogHint)

完整代码如下

cpp 复制代码
int defaultValue(1), minimumVal(0), maximumVal(ui->textEdit()->document()->blockCount()), step(1);
bool ok(false);

int line = QInputDialog::getInt(this, tr("Application Name"), tr("Input Name"), defaultValue, minimumVal, maximumVal, step, &ok,
	Qt::WindowCloseButtonHint|Qt::MSWindowsFixedSizeDialogHint);

III - 参考链接


https://blog.csdn.net/koenlee/article/details/85554499
https://bugreports.qt.io/browse/QTBUG-73258
https://stackoverflow.com/questions/54307407/why-am-i-getting-qwindowswindowsetgeometry-unable-to-set-geometry-warning-wit

相关推荐
xlp666hub4 小时前
Leetcode第七题:用C++解决接雨水问题
c++·leetcode
肆忆_5 小时前
实战复盘:手写 C++ 虚拟机的高性能并行 GC (Thread Pool + Work Stealing)
c++
肆忆_5 小时前
虚函数进阶答疑:把上一篇博客评论区里最容易卡住的问题,一次追到底
c++
saltymilk1 天前
使用 C++ 模拟 ShaderLanguage 的 swizzle
c++·模板元编程
xlp666hub1 天前
Leetcode第五题:用C++解决盛最多水的容器问题
linux·c++·leetcode
得物技术1 天前
搜索 C++ 引擎回归能力建设:从自测到工程化准出|得物技术
c++·后端·测试
xlp666hub2 天前
Leetcode 第三题:用C++解决最长连续序列
c++·leetcode
会员源码网2 天前
构造函数抛出异常:C++对象部分初始化的陷阱与应对策略
c++
xlp666hub2 天前
Leetcode第二题:用 C++ 解决字母异位词分组
c++·leetcode
不想写代码的星星2 天前
static 关键字:从 C 到 C++,一篇文章彻底搞懂它的“七十二变”
c++