第2篇 Qt5基础(二)编写Qt多窗口程序

1、通过代码来设置按钮的中文文本会覆盖以前在设计模式设置的文本,(另外,如果大家以前学过Qt 4,那么现在可能会激动地发现不用在使用setCodecForTr()等函数就可以直接显示中文了)不过,在代码中直接使用中文本不是一个好的习惯,建议在编写程序时使用英文,当程序完成后使用Qt语言家来翻译整个软件中要显示的字符串,这个在后面的教程中会讲到。

2、类名首字母一般大写

3、为了实现点击这个按钮后可以关闭该对话框并显示主窗口,我们需要设置信号和槽的关联。

4、把信号和槽都看做是函数,比如这里,当单击了按钮以后就会发射单击信号,即clicked();然后对话框接收到信号就会执行相应的操作,即执行accept()槽。一般情况下,我们只需要修改槽函数即可,不过,这里的accept()已经实现了默认的功能,它会将对话框关闭并返回QDialog::Accepted标识,所以无需再做更改。

5、F3键来返回控件编辑模式;F4,便进入了信号和槽编辑模式。

6、

void MainWindow::on_pushButton_clicked()
{
   QDialog *dlg = new QDialog(this);
   dlg->show();  
}

创建了一个对话框对象,然后让其显示。创建时指定的this参数表明这个对话框的父窗口是MainWindow。有的童鞋可能会问,如果多次按下按钮,那么每次都会生成一个对话框,是否会造成内存泄露或者内存耗尽?这里简单说明一下,Qt的对象树机制保证了不会造成内存泄露,而且不用写delete语句,因为指明了对话框的父部件,所以当主窗口MainWindow销毁时会自动销毁创建的对话框。当然,严谨的童鞋也可以在mainwindow.h文件中先定义一个对话框对象,并在构造函数中进行创建,然后再到这里使用。

猜你喜欢

转载自blog.csdn.net/wangtingze123/article/details/83541327
今日推荐