目录
1 输出Hello Qt
1.1 创建项目
首先,<ctrl>+n创建新项目,如图所示。
创建完成后如图所示:
1.2 输出Hello Qt
双击Forms文件下的mainwindow.ui。
左上角过滤器输入标签label。拖拽到中间进行编辑。
右侧front下调整点大小并勾选粗体。
QLabel下寻找alignment下选择人水平中心对齐。
运行项目。
2 使用按钮
2.1 自动生成
双击mainwindow.ui,点击左边过滤器输入Push Button,拖入中间区域进行编辑,可以按如图所示选择启用栅格布局,是的界面更加美观。
可以修改按钮的名字和显示名,
转到槽,对按钮事件进行设置。记得添加头文件#include<QtDebug>,使用函数qDebug()。
效果如图所示。
2.2 手写
我们手写一个按钮,命名为“点击就哭哭”。
mainwindow.cpp代码为:
#include "mainwindow.h"
#include "ui_mainwindow.h"
#include <QtDebug>
MainWindow::MainWindow(QWidget *parent)
: QMainWindow(parent)
, ui(new Ui::MainWindow)
{
ui->setupUi(this);
auto k = [&](){
qDebug() << "哭哭";
};
connect(ui->btn3,&QPushButton::clicked,this,k);
}
MainWindow::~MainWindow()
{
delete ui;
}
void MainWindow::on_pushButton_clicked()
{
qDebug() << "你好鸭";
}
void MainWindow::on_pbu2_clicked()
{
qDebug() << "哈哈";
}
或者在mainwindow.h中声明函数,然后转到mainwindow.cpp中定义函数,也是可行的。类似于在这种格式
ui->btn3 信号发送者
&QPushButton::clicked 发送事件
this 信号接收者
k 信号处理函数
3 布局
3.1 绝对位置与手动布局
说明:控件布局是固定位置,没有自适应功能,只能固定窗口大小。
优点:简单
缺点:没法自适应,一拉就变形,窗口要固定大小。
说明:给出控件的绝对位置,但是他们的尺寸根据窗口的大小确定,可以通过重写窗体控件的resizeEvent()实现对子控件的大小和位置
优点:简单,灵活
缺点:虽然可以自适应,要写大量自适应的代码,很难受。
3.2 布局管理器
说明:给出控件的绝对位置,但是他们的尺寸根据窗口的大小确定,可以通过重写窗体控件的resizeEvent()实现对子控件的大小和位置
优点:简单,灵活,高效,能满足你百分之99的需求
缺点:有点难,布局管理器入门有一定难度
布局管理器继承于QLayout,并非QWidght。QLayout的能力是收容QWidget,是QWidget的容器。
3.2.1 水平布局类QHBoxLayout
包含的对象都横向排列开,如图所示。
3.2.2 垂直布局类QVBoxLayout
包含的对象都垂直排列开,如图所示。
3.2.3 网格布局类QGridLayout
3.2.4 表格布局类QFormLayout
把子控件进行分组或者分页,一次只显示一组或者一页,隐藏其他组或者页上的控件.
3.2.5 弹簧
3.2.6 按钮设置
4 Qt对话框
帮助->索引->qdialo,查看对话框,一共有八个。