setGeometryDp: Unable to set geometry 22x22+672+353 on QWidgetWindow/'QDialogClassWindow'.
2016-03-06 00:22
603 查看
最近在写 QProgressBar 的时候,出现了种种报错,正是这些报错逐渐认识到,Qt 的细节的原理。同时也得到一些经验。
经验: 不要忽略程序的警告。善于使用搜索引擎
这个报错的时候是在运行的时候发现的,我通过stackover flow 发现其主要是有下面造成的:
由于他的父对象几何框架较小不能容纳下子类视图,所以导致了对父对象的重新构造。
通过下面这个代码段可以看出:
有警告:
没有警告:
,还有的时候,没有根据
类似
构造QLabel 是有父对象的 所以在声明对象的时候应该是: QLabel(this) ,这样可以避免警告的发生。
我同时也发现,通过图形界面来进行学习面向对象,真的是很形象。
我是奔跑的Q 与我交流请联系 yaowen_contact#163.com (# 改变为 @)
经验: 不要忽略程序的警告。善于使用搜索引擎
setGeometryDp: Unable to set geometry 22x22+672+353 on QWidgetWindow/'QDialogClassWindow'. Resulting geometry: 95x22+672+353 (frame: 8, 30, 8, 8, custom margin: 0, 0, 0, 0, minimum size: 22x22, maximum size: 16777215x16777215).
这个报错的时候是在运行的时候发现的,我通过stackover flow 发现其主要是有下面造成的:
由于他的父对象几何框架较小不能容纳下子类视图,所以导致了对父对象的重新构造。
通过下面这个代码段可以看出:
有警告:
dialog = new QDialog(this); mainLayout = new QGridLayout(dialog); dialog->show(); mainLayout->addWidget(FileNum, 0, 0); mainLayout->addWidget(FileNumLineEdit, 0, 1); mainLayout->addWidget(ProgressType, 1, 0); mainLayout->addWidget(comboBox, 1, 1); mainLayout->addWidget(ProgressBar,2, 0, 1, 2); mainLayout->addWidget(startBtn, 3, 1); mainLayout->setMargin(15); mainLayout->setSpacing(10); //dialog->setMinimumSize(500, 500); connect(startBtn,SIGNAL(clicked()),this, SLOT(startProgress()));
没有警告:
dialog = new QDialog(this); mainLayout = new QGridLayout(dialog); //dialog->show(); mainLayout->addWidget(FileNum, 0, 0); mainLayout->addWidget(FileNumLineEdit, 0, 1); mainLayout->addWidget(ProgressType, 1, 0); mainLayout->addWidget(comboBox, 1, 1); mainLayout->addWidget(ProgressBar,2, 0, 1, 2); mainLayout->addWidget(startBtn, 3, 1); mainLayout->setMargin(15); mainLayout->setSpacing(10); //dialog->setMinimumSize(500, 500); dialog->show(); connect(startBtn,SIGNAL(clicked()),this, SLOT(startProgress()));
,还有的时候,没有根据
类似
QLabel ( QWidget * parent, const char * name = 0, WFlags f = 0 ) QLabel ( const QString & text, QWidget * parent, const char * name = 0, WFlags f = 0 ) QLabel ( QWidget * buddy, const QString & text, QWidget * parent, const char * name = 0, WFlags f = 0 )
构造QLabel 是有父对象的 所以在声明对象的时候应该是: QLabel(this) ,这样可以避免警告的发生。
我同时也发现,通过图形界面来进行学习面向对象,真的是很形象。
我是奔跑的Q 与我交流请联系 yaowen_contact#163.com (# 改变为 @)
相关文章推荐
- 安卓第六天笔记--ListView
- Linux Swap交换分区介绍总结
- ansible的用法
- 浏览器缓存--阅读笔记
- ASIHttpRequest或者SDWebImage给UIImageView加载图片的逻辑是什么样子的
- Material Design学习之NavigationView实现侧滑菜单栏
- 纯CSS实现移动端常见布局——高度和宽度挂钩的秘密
- 使用drawRect有什么影响
- 封装getByClass(JS获取class的方法封装为一个函数)
- 封装getStyle (获取样式currentStyle getComputedStyle兼容处理)
- 封装addLoadEvent(页面加载同时执行多个函数)
- JS 取消冒泡事件 兼容火狐IE
- javascript处理事件的一些兼容写法
- Bone Collector II (HDU_2639) 01背包 + 第K优解
- ARM体系结构——如何在MDK上仿真
- 如何高性能的给UIImageView加个圆角
- 文章标题
- 20145218《Java程序设计》第一周学习总结
- 图片延迟加载
- insertAfter()