关于Qt邮箱初始化遇到问题的问题,求助

您当前位置: >
> Qt5之控件在初始化时就触发了槽函数的问题解决方案
Qt5之控件在初始化时就触发了槽函数的问题解决方案
来源:程序员人生&& 发布时间: 09:10:42 阅读次数:1360次
在编程中,如QSpinBox控件、QComboBox控件等,在初始化控件数值范围、控件内容等情况下,常常会触发信号去调用相应的槽函数。这常常不是我们想要的结果。
& & & & 解决方案:
& & & &能够触发控件的信号并调用槽,这是由于控件的信号与槽已相干联在1起,那末我们只要在对控件进行初始化以后再来关联信号与槽,这样就能够避免以上出现的情况。所以,在构造中把信号与槽的关联代码放到最后面,或干脆把信号与槽的关联代码搬迁到界面初始化终了但未显示之前的函数showEvent(QShowEvent *evt)等这些函数里面。
生活不易,码农辛苦
如果您觉得本网站对您的学习有所帮助,可以手机扫描二维码进行捐赠
------分隔线----------------------------
------分隔线----------------------------
积分:42372449人阅读
QT、C++(4)
最近碰到一个在子线程中使用QAxWidget不成功的问题,问题显示如下:
CoCreateInstance failure (尚未调用 CoInitialize。)
QAxBase::setControl: requested control Excel.Application could not be instantiated
QAxBase::dynamicCallHelper: Object is not initialized, or initialization failed
这个问题在网上很少有解决办法的具体代码,既然我解决了就整理出来分享给大家把。
出现这个问题的原因是在QApplication的主线程中,会自动初始化COM库,而新开辟的子线程不会自动初始化COM库,所以需要我们手动来初始化。
方法如下:
添加头文件
#include &windows.h&在线程开始的时候初始化COM库:
HRESULT r = OleInitialize(0);
if (r != S_OK && r != S_FALSE)
qWarning(&Qt:初始化Ole失败(error %x)&,(unsigned int)r);
}使用结束后需要释放掉:
OleUninitialize();
这样就能成功运行了。
&&相关文章推荐
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
访问:16456次
排名:千里之外
(1)(1)(1)(2)(1)(1)(1)
(window.slotbydup = window.slotbydup || []).push({
id: '4740881',
container: s,
size: '200,200',
display: 'inlay-fix'1874人阅读
在编程中,如QSpinBox控件、QComboBox控件等,在初始化控件数值范围、控件内容等情况下,往往会触发信号去调用相应的槽函数。这往往不是我们想要的结果。
& & & & 解决方案:
& & & &能够触发控件的信号并调用槽,这是因为控件的信号与槽已经相关联在一起,那么我们只要在对控件进行初始化之后再来关联信号与槽,这样就可以避免以上出现的情况。所以,在构造中把信号与槽的关联代码放到最后面,或者干脆把信号与槽的关联代码搬迁到界面初始化完毕但未显示之前的函数showEvent(QShowEvent *evt)等这些函数里面。
&&相关文章推荐
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
访问:121864次
积分:1137
积分:1137
排名:千里之外
原创:25篇
评论:63条
(window.slotbydup = window.slotbydup || []).push({
id: '4740881',
container: s,
size: '200,200',
display: 'inlay-fix'本帖子已过去太久远了,不再提供回复功能。

我要回帖

更多关于 新机初始化遇到问题 的文章

 

随机推荐