【发布时间】:2012-02-10 17:44:39
【问题描述】:
虽然我已经阅读了这个问题的答案
QT/C++ - Accessing MainWindow UI from a different class 并搜索了整个 www 很长一段时间 - 我没有得到它的工作。
我的任务是使用 QT Designer 重新创建应用程序 UI。不幸的是,已经有一些 UI 分布在多个类中(团队随后想到了使用 QT 但不使用 Designer 但“手工编码”UI 似乎没有什么意义的想法)
所以现在我的工作是解开开放的末端,创建一个 GUI(完成此任务)找到所有可能的信号和插槽,然后将它们放在一起,看起来又漂亮又干净。
理论部分就讲这么多。
补充:我在 C++ 方面的经验很少,而且我似乎无处可寻,直到明天才有时间阅读整本书,否则我不会问。
我对两件事有点抓狂:
A) 我的 mainwindow.cpp、mainwindow.h 和 mainwindow.ui 需要链接到其他文件,例如previewwidget.cpp... previewwidget.cpp 有很多类似的代码:
buttonLayout->addWidget(fpsSpinBox, 0, Qt::AlignCenter);
buttonLayout->addWidget(playButton, 0, Qt::AlignCenter);
buttonLayout->addWidget(backwardButton, 0, Qt::AlignCenter);
显然我通过在 Designer 中创建相应的按钮来替换它。 现在在同一个文件中有连接信号槽条目(我添加了“ui->”)
connect(ui->playButton, SIGNAL(clicked()), this, SIGNAL(playButtonClicked()));
connect(ui->stopButton, SIGNAL(clicked()), this, SIGNAL(stopButtonClicked()));
connect(ui->forwardButton, SIGNAL(clicked()), this, SIGNAL(forwardButtonClicked()));
但编译器一直告诉我:
\preview\previewwidget.cpp:77: 错误:'ui' 未在此范围内声明
我将 ui_mainwindow.h 放入标题中,但这也不是解决方案。
B) 这个问题可能与第一个问题密切相关:由于设计师严格将模型/视图/控件分开,我需要重写信号和插槽以匹配新 UI - 有任何人都得到了一个很好的教程或任何提示我如何快速和简单地做到这一点?
任何帮助将不胜感激。
【问题讨论】:
标签: c++ qt user-interface header-files signals-slots