qt程序框架和项目树
编写一个窗口
new->project->Application->QtWidgetsApplication->next->next->基类选择Qwidget并且不创建Form
//QApplication应用程序类
//Qt头文件没有.h
//头文件和类名一样
#include <QApplication>
int main(int argc, char *argv[])
{
//有且只有一个应用程序类的对象
QApplication a(argc, argv);
//MyWidget继承与QWidget, QWidget是一个窗口基类
//所以MyWidget也是窗口类
//w就是一个窗口
MyWidget w;
//窗口创建默认是隐藏,需要人为显示
w.show();
//让程序一直执行,等待用户操作
//等待事件的发生
a.exec();
return 0;
}
main. cpp
写一个空白窗口
—new project—>other project—>empty qmake Project—>next—>完成
只得到一个.proc文件
—加上模块,然后可以进行图形界面编程
—在项目栏 Add new C++ source,注意命名时要以.cpp结尾
—创建窗口
——setWindowTitle()
——show()
按钮实现
—给控件设置父对象
—setText()
#include <QApplication>
#include <QWidget> //窗口控件基类
#include <QPushButton>
int main(int argc, char **argv)
{
QApplication app(argc, argv);
QWidget w;
w.setWindowTitle(QString("数据库")); //设置标题
/*对象和对象默认独立
* a指定b为它的父对象,a放在b的上面
* 指定父对象,有2种方式:
* 1)setParent
* 2)通过构造函数传参
* 指定父对象,只需要父对象显示,上面的子对象自动显示
*/
QPushButton b;
b.setText("MySQL"); //给按钮设置内容
b.setParent(&w); //指定父对象
b.move(100, 100); //移动坐标
QPushButton b1(&w); //通过构造函数传参
b1.setText("abc");
w.show();
app.exec();
return 0;
}
正确打开一个工程
很多时候拿到工程文件如图所示,无法编译。原因是.user文件中保存着工程创建时的一些信息(如存放的构建目录等是创建工程时当前环境路径),需要将该文件删除