前天做项目时遇到一个BUG:一个widget的部分子widget在symbian平台下始终显示不出来,追了很久,终于发现是show函数的位置在作怪。
在Q中:要想显示一个widget最简单的方式就是调用show函数,(这也包括showFullScreen等其他显示函数),但是这个函数到底该在哪里调?这个还是需要注意的。
一个QWidget窗口,我们在其构造函数中创建若干子widget。一般我们都是在创建完之后再来调用show函数,亦即:
MyWidget widget;
widget.show();
但是如果我们在父窗口的构造函数内部就调用show()函数会出现什么现象呢?举例如下:
MyWidget::MyWidget(QWidget*parent):QWidget(parent)
{
iChild1 = new QWidget(this);
//位置1
iChild2 = new QWidget(this);
//位置2
iChild2 = new QWidget(this);
//位置3
}
如果我们分别在上述3个位置处调用show()函数,会有什么效果呢?
1:在Windows平台下:没有任何问题,三个子窗口都会准确的显示出来。
2:在Symbian平台下:在哪个位置处调用的show()函数,则该位置后边的所有代码创建的子窗口将全部显示不出来!!
所以为了实现所谓的cross-platform ,我们最好不要再构造函数中调用show()函数,而是在该窗口创建完成之后来调用!
说明:
1:上述情况只有在窗口的父类是QWidget或其派生类时才会出现,而且只在symbian平台下才有。
2:如果你用的是QGraphicsView,则无论你show函数在构造函数中的哪个位置,都不会出现这个问题。
3:本例测试平台为:Qt4.6.2
分享到:
相关推荐
c++ qt 中在静态函数中发信号的方式,以及回调函数的基本使用
Qt中调用函数如何返回多个值的Qt文件,详情可参考:https://blog.csdn.net/didi_ya/article/details/119854553
5.保证无毒 1.简单,方便,实用 3.实例可以自行改用 ...7.请下载,杀毒后再使用! 4.如果需要联系我请看左边数字! 1.如果不知道这代表什么,那你就放弃计算机吧! 0.还不懂?CSDN老板不让我上传联系方式。
c++ qt 中在静态函数中发信号的方式,以及回调函数的基本使用, c++ qt 中在静态函数中发信号的方式,以及回调函数的基本使用, c++ qt 中在静态函数中发信号的方式,以及回调函数的基本使用
Qt使用回调函数方(callback)
使用Qt5.6绘制sin函数波形,可调节周期与振幅。对于初学者绘制波形十分有用。
讲述Qt如何实现静态函数中发送信号,对应文章: https://lizhifun.blog.csdn.net/article/details/112631489
Qt帮助文档,学习图形界面开发,肯定离不开帮助文档的使用,因为它不像 C 语言那样就那么几个函数接口,图形接口的接口可以用海量来形容,常用的我们可能能记住,其它的真的没有必要去记,用到什么就去帮助文档查看...
关于Qt Qt的版本 常见问题解答 Window系统特性注释 如何购买Qt 安装 如何学习Qt 教程一, 教程二 实例 循序渐进实例 ... Qt 3.0的关键特征 ...从Qt 2.x移植到Qt 3.x ...Qt中的线程支持 Qt插件 窗口部件快照
GUI开发示例代码---QTdesigner实现自定义槽函数
信号和槽机制是 QT 的核心机制,要精通 QT 编程就必须对信号和槽有所了解。信号和槽是一种高级接口,应用于对象之间的通信,它是 QT 的核心特性,也是 QT 区别于其它工具包的重要地方。信号和槽是 QT 自行定义的一种...
QT中使用回调函数的具体用法,可运行。
QT中调用dll中的函数,3种方式demo, 1、采用显示链接,调用DLL中全局函数 2、采用显示链接,调用C++类中的类对象、成员函数 3、采用隐式链接方法,通过QLibrary类对DLL中类对象、全局函数的调用
* 本代码中的 zCompress 函数对应QT的 qCompress; * 本代码中的 zUncompress 函数对应QT的 qUncompress; * QT的 QByteArray 用 ZByteArray代替,其实是 std::vector; * 代码大部份沿用QT的编写方式,其中添了 ...
* 这些不同的组合就会导致使用的路径存在不同的情况,也决定了你写的程序能不能正常的运行,所以我就整理了一下Qt中使用路径的方式和注意事项,避免以后程序出现问题。 * 实际开发中使用相对路径不是很安全,使用...
在qt中调用javascript 已在linux中编译好 qt4.5
connect函数的几个用法 通过分别演示信号有无参数与对应的有无参数的槽函数 能够很好地了解connect的用法 【包括对lambda函数的应用】
log4Qt 支持函数名,类名,可以自己随意修改代码,本想免费分享,但最小是1分
一个QT使用MFC的例子,示例为QT工程,其中引入MFC库,使用CString类,MessageBox方法进行了验证。示例工程为QT4+VS2013。此方式在QT3,QT4,QT5和VC6,VS2013,VS2015,VS2018中亦可使用。
使用qt creator如何加载.so库来调用其中的api函数 使用qt creator来开发QT程序时,如果用到了三方库.so文件,如何加载他?