【发布时间】:2014-05-22 22:16:09
【问题描述】:
我试图弄清楚如何从我的 c++ 项目中的 Qt Designer 表单访问组件,没有编译错误,但发生运行时错误。
“main”函数和 a.exec 是如何工作的?我应该在 a.exec() 之前执行我的代码还是创建一个新线程来执行此操作?
QWidget *pWindow;
QPushButton *lpPushButton;
int main(int argc, char *argv[])
{
QApplication a(argc, argv);
QtProject w;
w.show();
pWindow = QApplication::activeWindow();
lpPushButton = pWindow->findChild<QPushButton*>("pushButton_2");;
lpPushButton->setText("test");
return a.exec();
}
pWindow 和 lpPushButton 都是 NULL
上面的代码不起作用,因为我不知道可以从哪里调用 setText。 关于 Qt 工作原理的一点 ELI5 解释会很棒,谢谢。
【问题讨论】:
-
您会遇到哪些运行时错误?
-
访问冲突,但 lpPushButton 和 pWindow 都是 NULL..
-
我已经好几年没有做任何 Qt 工作了。你不注册一个处理程序来有效地“在应用程序启动时”吗?
-
Qt 是事件驱动的,在你进入事件循环后你需要对事件做出反应来完成你的工作
-
为什么窗口会有按钮?