编写QT多窗口程序
来源:互联网 发布:乔艾莉·波妮身世知乎 编辑:程序博客网 时间:2024/05/29 08:20
转自:http://www.qter.org/portal.PHP?mod=view&aid=27
3.现在可以先按下Ctrl+R运行一次程序。在设计模式可以对界面进行更改,使用代码也可以完成相同的功能,下面就添加代码来更改按钮的显示文本。
- MainWindow::MainWindow(QWidget *parent) :
- QMainWindow(parent),
- ui(new Ui::MainWindow)
- {
- ui->setupUi(this);
- ui->pushButton->setText("新窗口"); //将界面上按钮的显示文本更改为“新窗口”
- }
2.可以看到,通过代码来设置按钮的中文文本会覆盖以前在设计模式设置的文本,(另外,如果大家以前学过Qt 4,那么现在可能会激动地发现不用在使用setCodecForTr()等函数就可以直接显示中文了)不过,在代码中直接使用中文本不是一个好的习惯,建议在编写程序时使用英文,当程序完成后使用Qt语言家来翻译整个软件中要显示的字符串,这个在后面的教程中会讲到。本系列教程中为了简便,一般会直接在代码中使用中文,但是为了以后可以进行国际化翻译,在界面上显示的字符串一般使用tr()函数包含,这里我们可以将修改按钮显示文本的代码更改为:ui->pushButton->setText(tr("新窗口"));
现在可以再次运行程序,如果感觉编辑器中的字体太小,可以使用Ctrl + +(同时按下Ctrl和加号键)来进行放大,使用Ctrl+ -可以缩小,Ctrl+0可以回复默认大小。
三、添加登录对话框
1.往项目中添加新文件,这里可以在编辑模式左侧的项目目录上右击,然后选择添加新文件菜单,如下图所示。当然也可以在文件菜单中进行添加。
2.模板选择Qt分类中的Qt设计师界面类,然后界面模板选择Dialog withoutButtons,如下图所示。
3.单击下一步进入类信息界面,这里将类名更改为LoginDlg(注意类名首字母一般大写)。如下图所示,下面的相关文件会自动改名。
当放开鼠标后,会弹出配置连接对话框,这里我们选择pushButton的clicked()信号和LoginDlg的accept()槽并按下确定按钮。如下图所示。
设置好信号和槽的关联后,界面如下图所示。
- #include "mainwindow.h"
- #include
- #include "logindlg.h"
- int main(int argc, char *argv[])
- {
- QApplication a(argc, argv);
- MainWindow w;
- LoginDlg dlg; // 建立自己新建的LoginDlg类的实例dlg
- if(dlg.exec() == QDialog::Accepted) // 利用Accepted返回值判断按钮是否被按下
- {
- w.show(); // 如果被按下,显示主窗口
- return a.exec(); // 程序一直执行,直到主窗口关闭
- }
- else return 0; //如果没有被按下,则不会进入主窗口,整个程序结束运行
- }
- void MainWindow::on_pushButton_clicked()
- {
- QDialog *dlg = new QDialog(this);
- dlg->show();
- }
- Qt 编写多窗口程序
- 编写Qt多窗口程序
- 编写Qt多窗口程序
- 编写QT多窗口程序
- QT 编写Qt多窗口程序
- 二、Qt Creator编写多窗口程序
- 二、Qt Creator编写多窗口程序
- 二、Qt Creator编写多窗口程序
- 二Qt Creator编写多窗口程序
- QT(1)-Qt Creator 编写多窗口程序
- Qt5基础(二)编写Qt多窗口程序笔记
- qt多窗口程序
- 我的Qt学习之路 --- 2、编写Qt多窗口程序
- Qt基础(二)编写Qt多窗口程序遇到的问题
- Qt_Creator编写多窗口程序
- Qt多窗口切换程序
- Qt多窗口切换程序
- QT5每日一学(二)编写QT多窗口程序
- 关于Vue的生命周期
- [笔记分享] [OS] Linux的内存管理
- numpy、matplotlib
- 功能强大的Android开发库:Anko
- 运算优先级的坑a[i++] = a[j]
- 编写QT多窗口程序
- CodeForces
- csuoj1828Dictionary (康托展开)
- ros::init源码分析(未完待续。)
- char、unsigned char区别
- java学习初探6之UML
- 2017多校联合第十场/HDU 6180 Schedule (贪心)
- 斯坦福大学吴恩达教授《machine learning》课程学习笔记—— week 1
- 并查集基础