Qt5基础(二)编写Qt多窗口程序笔记

笔记中的所有资料原作者:yafeilinux(QT开源社区)


1.tr()函数

01:ui->pushButton->setText(tr("新窗口"));

为了简便,一般会直接在代码中使用中文,但是为了以后可以进行国际化翻译,在界面上显示的字符串一般使用tr()函数。


2进入和退出:信号和槽编辑模式

点击设计模式上方的 Qt5基础(二)编写Qt多窗口程序笔记图标,或者按下F4,便进入了信号和槽编辑模式。按着鼠标左键,从按钮上拖向界面,如下图所示:

Qt5基础(二)编写Qt多窗口程序笔记

当放开鼠标后,会弹出配置连接对话框,这里我们选择pushButtonclicked()信号和LoginDlgaccept()槽并按下确定按钮。如下图所示:

Qt5基础(二)编写Qt多窗口程序笔记

设置好信号和槽的关联后,界面如下图所示:

Qt5基础(二)编写Qt多窗口程序笔记

完成后,可以按下 Qt5基础(二)编写Qt多窗口程序笔记图标或者F3键来返回控件编辑模式。



3.关于QApplication类中的exec()函数和Dialog类简述:


  1. int main(int argc, char *argv[])
  2. {
  3.     QApplication a(argc, argv);
  4.     MainWindow w;
  5.     LoginDlg dlg;                        // 建立自己新建的LoginDlg类的实例dlg
  6.     if(dlg.exec() == QDialog::Accepted) // 利用Accepted返回值判断按钮是否被按下
  7.     {
  8.         w.show();                      // 如果被按下,显示主窗口
  9.         return a.exec();              // 程序一直执行,直到主窗口关闭
  10.     }
  11.     else return 0;          //如果没有被按下,则不会进入主窗口,整个程序结束运行
  12. }

上述程序中有两点想说明:

1.QApplication类中exec()函数是让应用程序开始执行并阻塞在exec调用的地方。

2.Dialog类是对话框类,它也有exec()函数,accpt()函数默认功能是将对话框关闭并返回QDialog::Accepted标识。

   如果只使用hide函数的话,只关闭对话框而不会那会标识符供其他所用。


补充:void Dialog::accept( )     【slot】 :关闭对话框并且设置对话框关闭结果为:Accepted

          void Dialog::accepted( )  【signal】: 先执行accept()这个槽函数,再执行发送信号accepted这个函数,这个发送信号的函数发送的     是QDialog::Accepted这个值

          QDialog::Accepted           代表对话框返回结果:1


所以说在信号click和槽连接的时候是连接的accept()这个槽函数。

            在exec判断返回值的时候使用的Dialog::Accepted这个对话框返回的值。