1.安装qt,较简单,可参考B站视频
2.Q1:一打开新建的项目就出现“mainwindow.cpp:2:10: './ui_mainwindow.h' file not found”
S:重启qt就行啦(
3.添加一个按钮:
首先在mainwindow.ui 中手动拖入一个pushbutton,然后点击运行的话就可以出现。但是我们也可以在mainwindow.cpp中加上ui->pushbutton->settext("你期望的按钮")来修改按钮上出现的文字。
4.对眼睛好:在编辑界面使用ctrl ++可以方法,缩小可类推。
5.Q2:使用的是Cmake,添加文件之后不在项目中显示:
S:需要修改cmakelist.txt,(会出现闪退,不知为何,但是再进入修改即可)
6.实现一个简单的点击按钮跳转至下一个界面。
1.首先右击项目新建,在其中选择Qt'设计器界面类,然后后面的修改按照自己所需。
2.会直接进入UI界面,进行调整(加入一个button)。
3.我们需要设置信号和槽的关联。按下F4,便进入了信号和槽编辑模式。按着鼠标左键,从按钮上拖向界面,如下图所示。
4.当放开鼠标后,会弹出配置连接对话框,这里我们选择pushButton
的clicked()
信号和LoginDlg
的accept()
槽并按下确定按钮。
5.完成后,可以按下F3来返回控件编辑模式。
6.除添加头文件外,修改main文件
LoginDlg dlg; // 建立自己新建的类的对象dlg
if(dlg.exec() == QDialog::Accepted) // 利用Accepted返回值判断按钮是否被按下
{
w.show(); // 如果被按下,显示主窗口
return a.exec(); // 程序一直执行,直到主窗口关闭
}
else return 0;
分析:这边先创建logindig的一个对象,然后运行,即执行exec()函数,并判断对话框的返回值,若按下按钮则返回accepted,显示主屏幕。
7.上面是一种方法,还有另外一种:
直接在.ui文件中右击我们需要操作的按钮,然后点击转到槽,选择clicked,然后回跳转到对应.cpp文件中的on_pushbutton_clicked()函数处,这个已经在.h文件中有了声明,我们仅需更改函数体。
void MainWindow::on_pushButton_clicked()
{
QDialog *dlg = new QDialog(this);
dlg->show();
}
8.最后一点:
每次都会生成一个对话框,是否会造成内存泄露或者内存耗尽。这里简单说明一下,因为现在只是演示程序, Qt的对象树机制保证了不会造成内存泄露,而且不用写delete
语句;而且因为是桌面程序,对于这样一个简单的对话框,其使用的内存可以被忽略。