12月28日(结束)
1.界面
布局:
栅格、水平、垂直
弹簧
默认窗口和控件有:9像素间隙
2.控件
2.1button控件
2.1.1toolbotton
2.1.2.Radio button and groupbox
外面是box
里面是radio button
这样两边的都不干涉,都可以选择
#include "widget.h"
#include "ui_widget.h"
Widget::Widget(QWidget *parent) :
QWidget(parent),
ui(new Ui::Widget)
{
ui->setupUi(this);
//设置单选按钮默认选择
ui->rBtnMan->setChecked(true);
//选中女后 打印信息
connect(ui->rBtnWoman, &QRadioButton::clicked, [](){
qDebug() << "选中女";
});
}
Widget::~Widget()
{
delete ui;
}
2.1.3.checkBox
//多选按钮 2s是选中 0是未选中 可选 半选
connect(ui->cBoxPrice, &QCheckBox::stateChanged, [=](int state){
qDebug() << state;
});
2.2 ItemWidget
2.2.1 QListWidget控件
QListWidgetItem *item -> 每行内容
listWidget->addItem(item)
设置居中方式item->setTextAlignment(Qt::AlignHCenter);
用additems 一次性添加多行
#include "widget.h"
#include "ui_widget.h"
Widget::Widget(QWidget *parent) :
QWidget(parent),
ui(new Ui::Widget)
{
//用listWidget写诗
// QListWidgetItem *item = new QListWidgetItem("锄禾日当午");
// //一行诗放到listWidget控件
// ui->listWidget->addItem(item);
// item->setTextAlignment(Qt::AlignHCenter);
// QStringList QList<QString>
QStringList list;
list << "锄禾日当午" << "汗滴禾下土" << "谁知盘中餐" << "粒粒皆辛苦";
ui->listWidget->addItems(list);
}
Widget::~Widget()
{
delete ui;
}
2.2.2 QTreeWidget控件
1. 设置头 (只是在原有界面设置而已,所以不用new)
ui->treeWidget->setHeaderLabels(QStringList()<< “英雄”<< “英雄介绍”);
2. 创建根节点(新创建的,所以需要new)
QTreeWidgetItem liItem = new QTreeWidgetItem(QStringList()<< “力量”);
3. 添加根节点 到 树控件上
ui->treeWidget->addTopLevelItem(liItem);
*4. 添加子节点(创建子结点,也需要new)
liItem->addChild(l1);
利用QStringList()<<”…” 左移实现添加字符串到List列表
#include "widget.h"
#include "ui_widget.h"
Widget::Widget(QWidget *parent) :
QWidget(parent),
ui(new Ui::Widget)
{
ui->setupUi(this);
//设置水平头 匿名函数
ui->treeWidget->setHeaderLabels(QStringList() << "英雄" << "英雄介绍");
QTreeWidgetItem *liItem = new QTreeWidgetItem(QStringList() << "力量");
QTreeWidgetItem *mingItem = new QTreeWidgetItem(QStringList() << "敏捷");
QTreeWidgetItem *zhiItem = new QTreeWidgetItem(QStringList() << "智力");
//加载顶层结点
ui->treeWidget->addTopLevelItem(liItem);
ui->treeWidget->addTopLevelItem(mingItem);
ui->treeWidget->addTopLevelItem(zhiItem);
//追加子节点
QStringList heroL1;
heroL1 << "刚被猪" << "前排坦克,能在吸收伤害的同时造成可观的范围输出";
QTreeWidgetItem *l1 = new QTreeWidgetItem(heroL1);
liItem->addChild(l1);
}
Widget::~Widget()
{
delete ui;
}
2.2.3 QTableWidget
(1)使用QStringList() << “…”
(2)使用QStringList nameList;(nameList[i])
(3)使用QList < QString > sexList;(sexList.at[i])
#include "widget.h"
#include "ui_widget.h"
Widget::Widget(QWidget *parent) :
QWidget(parent),
ui(new Ui::Widget)
{
ui->setupUi(this);
//TableWidget控件
//设置列数
ui->tableWidget->setColumnCount(3);
//设置水平表头
ui->tableWidget->setHorizontalHeaderLabels(QStringList() << "姓名" << "性别" << "年龄");
//设置行数
ui->tableWidget->setRowCount(5);
//设置正文
ui->tableWidget->setItem(0, 0, new QTableWidgetItem("亚瑟"));
QStringList nameList;
nameList << "亚瑟" << "赵云" << "张飞" << "关羽" << "花木兰";
QList<QString> sexList;
sexList << "男" << "男" << "男" << "男" << "女";
for (int i = 0; i < 5; ++i) {
int col = 0;
ui->tableWidget->setItem(i, col++, new QTableWidgetItem(nameList[i]));
//at 方法不会越界
ui->tableWidget->setItem(i, col++, new QTableWidgetItem(sexList.at(i)));
//QString->int
ui->tableWidget->setItem(i, col++, new QTableWidgetItem(QString::number(i+18)));
}
}
Widget::~Widget()
{
delete ui;
}
2.3 other
1.
#include "widget.h"
#include "ui_widget.h"
Widget::Widget(QWidget *parent) :
QWidget(parent),
ui(new Ui::Widget)
{
ui->setupUi(this);
//栈控件使用
//设置默认定位 不同index
ui->stackedWidget->setCurrentIndex(0);
//btn1
connect(ui->btn_1, &QPushButton::clicked, [=](){
ui->stackedWidget->setCurrentIndex(0);
});
//btn2
connect(ui->btn_2, &QPushButton::clicked, [=](){
ui->stackedWidget->setCurrentIndex(1);
});
}
Widget::~Widget()
{
delete ui;
}
2.下拉框和label添加图片
#include "widget.h"
#include "ui_widget.h"
#include <QMovie>
Widget::Widget(QWidget *parent) :
QWidget(parent),
ui(new Ui::Widget)
{
ui->setupUi(this);
//设置下拉框
ui->comboBox->addItem("奔驰");
ui->comboBox->addItem("宝马");
ui->comboBox->addItem("拖拉机");
//按钮选中
connect(ui->pushButton, &QPushButton::clicked, [=](){
// ui->comboBox->setCurrentIndex(2);
ui->comboBox->setCurrentText("拖拉机");
});
//label设置图片
// ui->lable_pic->setPixmap(QPixmap(":/Image/butterfly.png")); //设置图片
//label设置动图
QMovie *mov = new QMovie(":/Image/mario.gif");
ui->lable_pic->setMovie(mov);
mov->start();
}
Widget::~Widget()
{
delete ui;
}