【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

相关推荐
软件黑马王子3 小时前
C#初级教程(4)——流程控制:从基础到实践
开发语言·c#
cpp_learners3 小时前
QT 引入Quazip和Zlib源码工程到项目中,无需编译成库,跨平台,压缩进度
qt·zlib·加密压缩·quazip
闲猫3 小时前
go orm GORM
开发语言·后端·golang
黑不溜秋的4 小时前
C++ 设计模式 - 策略模式
c++·设计模式·策略模式
李白同学4 小时前
【C语言】结构体内存对齐问题
c语言·开发语言
黑子哥呢?5 小时前
安装Bash completion解决tab不能补全问题
开发语言·bash
青龙小码农5 小时前
yum报错:bash: /usr/bin/yum: /usr/bin/python: 坏的解释器:没有那个文件或目录
开发语言·python·bash·liunx
大数据追光猿6 小时前
Python应用算法之贪心算法理解和实践
大数据·开发语言·人工智能·python·深度学习·算法·贪心算法
Dream it possible!6 小时前
LeetCode 热题 100_在排序数组中查找元素的第一个和最后一个位置(65_34_中等_C++)(二分查找)(一次二分查找+挨个搜索;两次二分查找)
c++·算法·leetcode
柠石榴6 小时前
【练习】【回溯No.1】力扣 77. 组合
c++·算法·leetcode·回溯