Qt 学习笔记(三):界面跳转、资源文件与主窗体
围绕多界面程序设计,整理新界面类、对话框跳转、资源文件,以及 QMainWindow 的菜单、工具栏和状态栏。
添加新的界面类
右键项目名,在弹出的右键菜单中选择 【添加新文件】

选择【Qt】-【Qt Widgets Designer Form Class】-【选择】

选择界面模板,提供了三种界面类,主窗体选择 【MainWindow】,对话框选择【Dialog】, 一般不选【Widget】。

如果是主界面,则类名默认即可,其他的界面,一般要修改类名,如关于对话框可起名为 AboutDialog

最后,点击完成即可。

界面类添加完成后,在需要使用该类型实例化对象时,和一般的类的使用差不多:包含头文件,实例化对象,调用各种成员函数。
对话框跳转到主界面
QDialog类提供了accept方法, 该函数能隐藏对话框,并设置对话框的退出状态码为 QDialog::Accepted
QDialog类提供了exec方法,该函数能显示对话框,阻塞,直到对话框关闭,并获取对话框的退出状态码。
使用这两个函数,可实现界面隐藏与跳转。
使用示例
在登录对话框中,当输入正确时,调用它的accept函数。
this->accept();
在主函数中,调用对话框的exec函数,判断退出状态码,决定是否需要显示新的界面
int main(int argc, char *argv[])
{
QApplication a(argc, argv);
LoginDialog w; // 创建登录界面对象,默认情况下,不显示
MainWindow mw; // 创建主界面对象,默认情况下,不显示
int code = w.exec(); // 调用登录对话框的exec函数,显示对话框,阻塞直到对话框关闭,并获取其退出状态码
// 判断登录对话框的退出状态码
if (code == QDialog::Accepted)
{
// 登录成功,显示主界面
mw.show();
}
return a.exec();
}
添加资源文件







最后,保存(ctrl+S)。添加成功后,效果如下:

主窗体
主窗体MainWindow一般由四部分组成:menubar, toolbar, centeralwidget, statusbar
菜单

工具栏

状态栏
在状态栏上可显示两种信息,临时信息与持久信息。
临时信息使用 showMessage函数即可, 临时信息显示在状态栏的左侧。
ui->statusbar->showMessage("点击了菜单项-打开"); // 一直显示,直到下一次调用showMessage函数覆盖此文本
ui->statusbar->showMessage("点击了菜单项-保存", 5000);// 显示5秒,自动清除
持久信息需要使用控件显示,如使用标签。持久信息显示在状态栏的右侧。

效果如下:







Comments | NOTHING