一、容器布局
ui文件布局:
动起来:
MainWindow::MainWindow(QWidget *parent) :
QMainWindow(parent),
ui(new Ui::MainWindow)
{
ui->setupUi(this);
connect(ui->pushButton,&QPushButton::clicked, [=](){
qDebug() << ui->lineEditroot->text() << endl;
qDebug() << ui->lineEditpwd->text() << endl;
});
}
二、组容器
#include "mainwindow.h"
#include "ui_mainwindow.h"
MainWindow::MainWindow(QWidget *parent) :
QMainWindow(parent),
ui(new Ui::MainWindow)
{
ui->setupUi(this);
ui->radioButton->setChecked(true);
}
MainWindow::~MainWindow()
{
delete ui;
}
三、QListWidget ---- 列表控件
运行结果:
四、QTreeWidget ----- 树控件
//添加顶层控件
QList<QTreeWidgetItem *> items;
items << new QTreeWidgetItem(QStringList()<<"亚瑟") << new QTreeWidgetItem(QStringList()<<"貂蝉")<< new QTreeWidgetItem(QStringList()<<"庄周");
ui->treeWidget_2->addTopLevelItems(items);
//顶层控件添加子控件
items[0]->addChild(new QTreeWidgetItem(QStringList()<<"上单" << "战士"));
items[1]->addChild(new QTreeWidgetItem(QStringList()<<"中单" << "法师"));
QList<QTreeWidgetItem *> items11;
items11 << new QTreeWidgetItem(QStringList()<<"辅助") << new QTreeWidgetItem(QStringList()<<"游走");
items[2]->addChildren(items11);
//动起来
connect(ui->treeWidget_2,&QTreeWidget::itemClicked,[=](QTreeWidgetItem *item, int column){
qDebug()<< item->text(column) << endl;
});
运行结果:
5、表格控件QTableWidget
#include "mainwindow.h"
#include "ui_mainwindow.h"
#include <QDebug>
#include <QStringList>
#include <QTableWidgetItem>
MainWindow::MainWindow(QWidget *parent) :
QMainWindow(parent),
ui(new Ui::MainWindow)
{
ui->setupUi(this);
//设置表格列数
ui->tableWidget_2->setColumnCount(3);
//设置表格行数
ui->tableWidget_2->setRowCount(2);
//设置水平表头信息
QStringList fonts;
fonts << "姓名" << "年龄" << "性别";
ui->tableWidget_2->setHorizontalHeaderLabels(fonts);
//设置垂直表头信息
QStringList lists;
lists << "一" << "二";
ui->tableWidget_2->setVerticalHeaderLabels(lists);
//往表格中添加信息
ui->tableWidget_2->setItem(0,0,new QTableWidgetItem("关羽"));
ui->tableWidget_2->setItem(0,1,new QTableWidgetItem("38"));
ui->tableWidget_2->setItem(0,2,new QTableWidgetItem("男"));
//动起来
connect(ui->tableWidget_2,&QTableWidget::itemClicked,[=](QTableWidgetItem *item){
qDebug() << item->text() << endl;
});
}
MainWindow::~MainWindow()
{
delete ui;
}
运行结果:
6、下拉列表框
设置默认选项:
信号:
7、QLabel控件的使用
1、QLabel设置文本
2、设置图片
1、添加图片资源
2、QPixmap对象加载图片
3、设置动画
//label设置一个动画
QMovie *movie = new QMovie(":/image/1.gif");
//设置动画的大小
movie->setScaledSize(QSize(400,300));
ui->label->setMovie(movie);
//播放动画
connect(ui->pushButton,&QPushButton::clicked,[=](){
movie->start();
});
//结束动画
connect(ui->pushButton_2,&QPushButton::clicked,[=](){
movie->stop();
});
8、自定义控件
不是让你创造一个全新的控件 使用已有控件 拼出一个新的控件
1、定义一个自定义控件
3、在其他文件中使用自定义控件MyWidget
4、改变spinbox的值,进度条移动
spinbox的信号
slider的槽函数
在mywidget.cpp的构造函数
//spinbox改变 导致 slider滑动
void (QSpinBox:: *p)(int) = &QSpinBox::valueChanged;
connect(ui‐>spinBox, p,\
ui‐>horizontalSlider, &QSlider::setValue );
5、拖动 slider 更改spinbox
slider信号
spinbox槽函数
在mywidget.cpp的函数中