如何调用创建.ui设计表单在Qt与button.clicked()事件
How to call created .ui design form in Qt with button.clicked() event?
我是Qt的新手,我想问如何调用创建的。ui设计器表单与主窗口中的按钮连接。
我所做的:1. 创建了一个新的.ui设计表单(Forms)。右键单击->添加-> Qt设计器窗体)到当前项目。2. 在.ui表单中设计了一个about对话框。3.在主窗口中创建一个位置PushButton.clicked()
对于所有在Qt中做过编程的人,请帮助我解决这个问题,将PushButton与。ui表单连接起来,这样PushButton就可以调用/显示在。ui中创建的表单。
使用。ui文件在Qt的文档中有解释:http://doc.qt.io/archives/qt - 4.7 -/-设计-使用- a - ui file.html
概要:处理.ui文件的最简单方法是在编译时通过ui(用户界面编译器)运行它。如果.ui文件包含在项目(.pro)文件中,则会自动完成此操作。(在您的情况下,"添加新"可能会自动完成此操作。)然后,您只需要在源文件中包含生成的c++头文件。它的名字应该类似于"ui_nameoftheoriginaluifile.hpp"。当然,在此之后,您需要实例化.hpp文件中定义的表单。
编辑添加:
你的代码有几个问题,从可读性开始。我不知道您以前是否使用过面向对象的语言,但c++的一个非常基本的规则是,类名以大写字母开头,以便于将它们与对象和其他变量区分开来。所以类名应该是"About"、"Parent"等。编译错误是由使用"about"而不是"ui_about.hpp"文件- "MainWindow"中实际使用的类名引起的。(这取决于您在.ui文件中使用的表单的名称。)
如果你正在使用Qt Creator:按住Ctrl键并单击包含指令中的文件"ui_about.h"的名称。这将打开以供检查。试着弄清楚它是如何工作的。
您还没有将opDialog()函数定义为"parent.cpp"中的"parent"类的成员,这会导致另一个编译时错误。
你也不应该为about对话框使用QMainWindow。QMainWindow应该是你的应用程序的主窗口——不应该有它的任何实例。
所以about.h:
namespace Ui {
class MainWindow;
}
class about : public QMainWindow {
Q_OBJECT
public:
about(QWidget *parent = 0);
~about();
protected:
void changeEvent(QEvent *e);
private:
Ui::MainWindow *ui;
};
和about.cpp:
的开头#include "about.h"
#include "ui_about.h"
about::about(QWidget *parent) :
QMainWindow(parent),
ui(new Ui::MainWindow)
{
ui->setupUi(this);
}
- Qt VTK交互风格的信号到小部件
- QT在错误的班级中寻找空位
- 如何在选项卡视图Qt中设置一个新项目,并保存以前的项目
- 如何在Qt窗口小部件中使用QStringView(或QStringRef)
- 如何在Qt C++中更改光标
- 如何在MS Visual Studio 2019中运行QT UI
- QT通过C++添加映射QML项目
- libssh 的函数在构建 libssh 时无法在 Qt 和 cmake 错误中找到
- 如何将点击的信号和插槽添加到qt中的自定义按钮中
- Qt C++静态thread_local QNetworkAccessManager是线程应用程序的好选择吗
- 使用Qt C++计算类似Git的SHA1哈希
- Qt focusObjectChanged example?
- 如何在cpp文件之间切换窗口?在Qt中
- Qt和C++:将QLineEdit添加到QTabWidget中
- 从数据库实时显示QT c++中的数据
- Qt Quick-如何仅从c++代码与qml属性交互
- 无法使用Qt Creator在Windows中构建yaml-cpp
- 如何在Qt中取消捕获字符串
- Qt SQLite没有查询或参数计数不匹配
- 如何调用创建.ui设计表单在Qt与button.clicked()事件