Qt学习C++
平台及版本
【qt】版本:4.5x
【vs】版本:vs2015
【语言】:c++
day01 HelloWorld程序生成
单击 Qt Creator 的菜单项文件->新建文件或项目,出现如图 1 所示的对话框。在这个对话框里选择需要创建的项目或文件的模板
对话框中选择项目类型为 Qt Widgets Application 后,单击“Choose…”按钮后更改文件名字及存储位置,设置好项目名称和保存路径后,单击“Next”按钮
选择自己常用的开发平台,我这里选用的是Vs2015,next
下一步
双击文件目录树中的文件mainwindow.ui,出现下图
将一个Label组件拖放到设计的窗体上面。双击刚刚放置的 Label 组件,可以编辑其文字内容,将文字内容更改为“Hello, World!”。右下角属性自行测试
单击主窗口左侧工具栏上的“项目”按钮
首先对项目进行编译,没有错误后,再运行程序。
day02 分析第一个Qt程序
day01中通过在 xxx.ui 文件中拖拽 Label 组件,设计出了一个显示 “Hello,World!” 的窗口
今天我们完全舍弃 xxx.ui 文件,亲手编写代码实现day01效果
首先新建一个项目,前面和正常生成一致直到这里不创建界面
生成完成后对比Demo和Demo02不难发现缺少了ui文件
1) main.cpp
main.cpp 文件,可以看到该文件包含的所有代码:
2) mainwindow.h和mainwindow.cpp
创建项目时,对话框中定义了一个继承自 QMainWindow 的主窗口类,并起名为 MianWindow,该类的定义部分位于 mainwindow.h 头文件中,实现部分位于 mainwindow.cpp 源文件中。
查看 mainwindow.h 和 mainwindow.cpp 文件中的代码并分析
直接运行程序,会输出下图所示的界面:
看到的就是 main() 函数中创建的 w 主窗口。由于没有往 w 窗口中放置任何组件,所以 w 是一个空白窗口。
接下来想要实现类似Day01的文本框需要对文件进行修改
mainwindow.h
#ifndef MAINWINDOW_H
#define MAINWINDOW_H
#include <QMainWindow>
#include <QLabel> // 引入 QLable 文件框组件的头文件
class MainWindow : public QMainWindow
{
Q_OBJECT
public:
MainWindow(QWidget *parent = 0);
~MainWindow();
private:
QLabel *lab; // 定义一个私有的 QLabel 指针对象
};
#endif // MAINWINDOW_H
mainwindow.cpp
#include "mainwindow.h"
MainWindow::MainWindow(QWidget *parent)
: QMainWindow(parent)
{
// 创建一个 QLable 对象
this->lab = new QLabel("Hello,World!",this);
}
MainWindow::~MainWindow()
{
}
运行结果如下
至此我们用代码实现了控件的添加
其中我们要注意
“Hello,World!” 文本框的父窗口是主窗口,所以文本框位于主窗口中(位置默认在窗口的左上角),主窗口关闭时文本框也会随之关闭。