Qt中如何插入对话框
2016-07-06 22:01
316 查看
Qt中绘制的ui是不能直接用于程序中的,得先把它和一个类关联,然后通过类的对象来显示ui文件。
这里来通过一个小例子来说明一下,我的编译环境是Qt 5.4.1。题目要求是在MainWindow中加入一个菜单栏你的按钮,点击“它”打开一个对话框。
步骤1.添加新的ui。
给工程里添加一个对话框,对话框里的内容我们不关心,在生成的ui_dialog.h中,我们可以看到:namespace Ui {
class DialogUi: public Ui_DialogUi {};
} 这个ui界面用DialogUi这个类来描述。
步骤2.新建一个类——DialogClass,里面有 Ui::DialogUi *ui;
class DialogClass : public QDialog
{
Q_OBJECT
public:
explicit DialogClass(QWidget *parent = 0);
~DialogClass();
private:
Ui::DialogUi *ui;
};构造函数为:
DialogClass::DialogClass(QWidget *parent) :
QDialog(parent),
ui(new Ui::DialogUi)
{
ui->setupUi(this);
}注意这里是新建这个DialogUi类的对象,然后调用setupUi()这个函数。
步骤3:在槽函数中构建DialogClass的对象,然后调用exec()函数。
void MainWindow::sl_openDialog()
{
DialogClass * m_dlg = new DialogClass;
m_dlg->exec();
}至于槽函数如何和QAction连接,这里就不描述了。
这里来通过一个小例子来说明一下,我的编译环境是Qt 5.4.1。题目要求是在MainWindow中加入一个菜单栏你的按钮,点击“它”打开一个对话框。
步骤1.添加新的ui。
给工程里添加一个对话框,对话框里的内容我们不关心,在生成的ui_dialog.h中,我们可以看到:namespace Ui {
class DialogUi: public Ui_DialogUi {};
} 这个ui界面用DialogUi这个类来描述。
步骤2.新建一个类——DialogClass,里面有 Ui::DialogUi *ui;
class DialogClass : public QDialog
{
Q_OBJECT
public:
explicit DialogClass(QWidget *parent = 0);
~DialogClass();
private:
Ui::DialogUi *ui;
};构造函数为:
DialogClass::DialogClass(QWidget *parent) :
QDialog(parent),
ui(new Ui::DialogUi)
{
ui->setupUi(this);
}注意这里是新建这个DialogUi类的对象,然后调用setupUi()这个函数。
步骤3:在槽函数中构建DialogClass的对象,然后调用exec()函数。
void MainWindow::sl_openDialog()
{
DialogClass * m_dlg = new DialogClass;
m_dlg->exec();
}至于槽函数如何和QAction连接,这里就不描述了。
相关文章推荐
- 使用C++实现JNI接口需要注意的事项
- 关于指针的一些事情
- QT学习 第一章:基本对话框
- 使用Shiboken为C++和Qt库创建Python绑定
- c++ primer 第五版 笔记前言
- Qt 5.6更新至RC版,最终版本近在咫尺
- share_ptr的几个注意点
- Lua中调用C++函数示例
- Lua教程(一):在C++中嵌入Lua脚本
- Lua教程(二):C++和Lua相互传递数据示例
- C++联合体转换成C#结构的实现方法
- C++高级程序员成长之路
- C++编写简单的打靶游戏
- C++ 自定义控件的移植问题
- C++变位词问题分析
- C/C++数据对齐详细解析
- C++基于栈实现铁轨问题
- C++中引用的使用总结
- 使用Lua来扩展C++程序的方法
- C++中调用Lua函数实例