平台:Qt+VS
目的:简单测试信号与槽。
问题:有两个 pushbutton,一个实现简单加法,一个实现关闭窗口。
尝试:尝试过调换二者的位置,好像一样会有问题。
请教一下,原因是什么?
QtGuiApplication1::QtGuiApplication1(QWidget *parent)
: QMainWindow(parent)
{
connect(ui.pushButton, SIGNAL(clicked()), this, SLOT(Calculate()));
connect(ui.btn_CloseWindow, SIGNAL(clicked()), this, SLOT(CloseWindow()));
ui.setupUi(this);
}
1
weyou 2020-05-21 13:05:40 +08:00 via Android
show me the code
|
3
lwh0328 2020-05-21 14:31:31 +08:00
没有完整的代码啊。。。。
粗略的感觉,setupUi 这里会分配内存创建内容什么的,connect 放前面的话,可能有些 ui 没有被分配资源? CloseWindow() 可能涉及到 destroy 一些资源,这样可能会回收一些没有被分配资源的变量。Calculate() 我的理解是进到你的这个函数里做运算。 |
4
weyou 2020-05-21 17:14:12 +08:00 via Android
代码不全,猜想 setupUi 是 IDE 自动生成的代码吧,这个函数里一般都是创建控件,也就是说在 setupUi 调用之前,那些 button 还不存在呢,你都已经开始去连接信号槽了,显然是有问题的啊
|
5
newmlp 2020-05-21 20:52:46 +08:00
connect 连的对象必须先 new 出来才行
|