
平台: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 出来才行 |