首页 > 系统相关 >Qt 颜色对话框QColorDialog弹出时应用程序输出栏出现QWindowsWindow::setGeometry: Unable to set geometry

Qt 颜色对话框QColorDialog弹出时应用程序输出栏出现QWindowsWindow::setGeometry: Unable to set geometry

时间:2024-02-22 10:57:10浏览次数:33  
标签:colorDlg set 颜色 对话框 QColorDialog setGeometry 应用程序 Unable

引言

  在项目中点击按钮,弹出颜色选择对话框,但同时应用程序会在应用程序输出一栏中显示

QWindowsWindow::setGeometry: Unable to set geometry 180x30+345+311 (frame: 202x86+334+266) on QWidgetWindow/"QColorDialogClassWindow" on "\\.\DISPLAY1". Resulting geometry: 599x478+345+311 (frame: 621x534+334+266) margins: 11, 45, 11, 11 minimum size: 599x478 maximum size: 599x478 MINMAXINFO maxSize=0,0 maxpos=0,0 mintrack=621,534 maxtrack=621,534)

  这篇文章就是解决这个问题。目前只适用于本人描述的这种情况。

解决方法

  首先展示一下颜色对话框的创建部分代码:

1 void Widget::on_colorBtn_clicked()
2 {
3    m_color = QColorDialog::getColor(defaultColor,this,QString(QStringLiteral("颜色选择对话框")),QColorDialog::ShowAlphaChannel);
4 }

  这样创建的颜色对话框点击按钮之后,显示颜色对话框的同时,也会在应用程序输出栏中显示上面的问题。实际上需要设置颜色对话框的位置大小,上面展示的代码无法设置颜色对话框的位置大小,所以修改颜色对话框这段代码。

 1 void Widget::on_colorBtn_clicked()
 2 {
 3     QColor defaultColor = QRgb("#008B8B");
 4     QColorDialog colorDlg(this);
 5     colorDlg.setGeometry(200,200,300,280);
 6     colorDlg.setWindowTitle(QStringLiteral("颜色选择对话框"));
 7     colorDlg.setCurrentColor(defaultColor);
 8     if (colorDlg.exec() == QColorDialog::Accepted) {
 9         m_color = colorDlg.selectedColor();
10     }
11 }

  上面使用创建颜色对话框的方式,设置了颜色对话框的大小位置后,再运行程序,点击按钮,出现颜色对话框的时候就不会出现引言中提到的问题了。此时如果注释掉颜色的对话框的位置大小设置后,就会出现。即关键是这句 colorDlg.setGeometry(200,200,300,280)。

标签:colorDlg,set,颜色,对话框,QColorDialog,setGeometry,应用程序,Unable
From: https://www.cnblogs.com/ybqjymy/p/18026841

相关文章

  • .net core 读取appsetting.json 封装
    /*需要引入的包Microsoft.Extensions.Configuration-提供配置的核心功能。Microsoft.Extensions.Configuration.Json-支持从JSON文件加载配置。Microsoft.Extensions.Configuration.FileExtensions-支持文件相关的配置,如设置基路径。Microsoft.Extensions.Configura......
  • Solution Set【2024.2.21】
    [ARC162C]MexGameonTree可以发现若Bob在某个节点填了值\(K\),那么会直接导致其根链上的所有节点均不可能满足要求。因此若某个节点的子树内有不小于两个空位,那么Alice一定无法使该子树满足要求。若某节点子树内有一个空位且可以通过填上这一空位使其合法,那么Alice可......
  • git reset 命令详解 git revert命令详解。
    https://blog.csdn.net/wangdawei_/article/details/124543824gitreset命令详解reset命令介绍参数使用commit还没有pushcommit已经push补救gitrevert命令revert说明举例命令reset命令介绍gitreset命令格式为:gitreset[--soft|--mixed|--hard][<commitid>]在git......
  • set/multiset
    set/multiset容器Set的特性是。所有元素都会根据元素的键值自动被排序。Set的元素不像map那样可以同时拥有实值和键值,set的元素即是键值又是实值。Set不允许两个元素有相同的键值。我们可以通过set的迭代器改变set元素的值吗?不行,因为set元素值就是其键值,关系到set元素的排序规......
  • redis自学(2)IntSet
    IntSetIntSet是redis中set集合的一种实现方式,基于整数数组来实现,并且具备长度可变、有序等特征。  可能会有疑惑,int8_t的数组contents只有1个字节,怎么可能存的下数组,其实这里的contents存储的只是指向真正数组的指针。IntSet的取值范围大小,实际上是由encoding属性决定的......
  • Go - charset and encoding
    Weshouldunderstandthedistinctionbetweenacharsetandanencoding:Acharset,asthenamesuggests,isasetofcharacters.Forexample,theUnicode charsetcontains2^21characters.Anencodingisthetranslationofacharacter’slistinbinary.F......
  • dremio FileDatasetHandle 简单说明
    FileDatasetHandle是DatasetHandle的扩展,核心是对于文件系统类的处理(dremio对于文件系统的支持主要是基于hdfs)同时支持对于不同表格式的处理(deltalake,iceber,parquet),单独说明FileDatasetHandle主要是因为此实现比较重要dremio不少文件的处理都和此有关联FileDatasetHandle的一......
  • Unity基于AssetBundle资源管理流程详解
    在Unity游戏开发中,资源管理是一个非常重要的环节。随着游戏的发展,资源会变得越来越庞大,因此需要一种高效的资源管理方式来减少内存占用和加快加载速度。AssetBundle是Unity提供的一种资源打包和加载方式,可以将资源打包成一个独立的文件,然后在运行时进行加载和卸载。本文将详细介绍......
  • because it set 'X-Frame-Options' to 'sameorigin'
    报错becauseitset'X-Frame-Options'to'sameorigin'.Refusedtodisplay'https://xxx.xxx.cn/'inaframebecauseitset'X-Frame-Options'to'sameorigin'.解决方法:修改页面,增加meta配置<head><!--CSP......
  • 【已解决】IDEA项目启动时Maven报错:Downgrade Maven to version 3.8.1 or earlier in
    报错场景如下:Possiblesolutions:CheckthatMavenpomfilesnotcontainhttprepositoryhttp://mvn.gt.igexin.com/nexus/content/repositories/releases/CheckthatMavenpomfilesnotcontainhttprepositoryhttp://repo1.maven.org/maven2Addamirror(s)forhtt......