界面布局
- 实现登录窗口
- 利用布局方式 给窗口进行美化
- 选取widget 进行布局,水平布局,垂直布局,栅格布局
- 给用户名、密码、登录、退出按钮进行布局
- 默认窗口和控件之间有9 间隙,可以调整layoutLeftMargin
- 利用弹簧进行布局
控件
按钮组
- QPushButton 常用按钮
- QToolButton 工具按钮 用于显示图片,如果想显示文字,修改风格:toolButtonStyle,凸起风格:autoRaise
- radioButton 单选按钮,设置默认:ui->rBtnMan->setChecked(true);
checkbox 多选按钮,监听状态,2是选中 0是未选中 1为半选状态
//设置单选按钮 男默认选中
ui->rBtnMan->setChecked(true);
//选中女后 打印信息
connect(ui->rBtnwoman,&QRadioButton::clicked,[=](){
qDebug() << "选中了女按钮";
});
//多选按钮 2是选中 0是未选中 1为半选状态
connect(ui->cBox,&QCheckBox::stateChanged,[=](int state){
qDebug() << state;
});
QListWidget 列表容器
- QListWidgetItem * item 一行内容
- ui->listWidget->addItem(item);
- 设置居中方式 item->setTextAlignment(Qt::AlignHCenter);
- 可以利用additems 一次性添加整个诗内容
//利用listWidget写诗 QListWidgetItem * item = new QListWidgetItem("锄禾日当午"); //将一行诗放入到listWidget控件中 ui->listWidget->addItem(item); item->setTextAlignment(Qt::AlignHCenter); //QStringList QList<QString> QStringList list; list << "锄禾日当午" << "汗滴禾下土" << "谁知盘中餐" << "粒粒皆辛苦"; ui->listWidget->addItems(list);
QTreeWidget 树控件
- 设置头 ui->treeWidget->setHeaderLabels(QStringList()<< "英雄" << "英雄简介");
- 创建根 QTreeWidgetItem * liItem = new QTreeWidgetItem(QStringList()<< "力量");
- 添加根节点到树控件上 ui->treeWidget->addTopLevelItem(liItem);
- 添加子节点 liItem->addChild(l1);
//treeWidget树控件使用 //设置水平头 ui->treeWidget->setHeaderLabels(QStringList()<< "英雄" << "英雄简介"); QTreeWidgetItem * liItem = new QTreeWidgetItem(QStringList()<< "力量"); QTreeWidgetItem * minItem = new QTreeWidgetItem(QStringList()<< "敏捷"); QTreeWidgetItem * zhiItem = new QTreeWidgetItem(QStringList()<< "智力"); //加载顶层节点 ui->treeWidget->addTopLevelItem(liItem); ui->treeWidget->addTopLevelItem(minItem); ui->treeWidget->addTopLevelItem(zhiItem); //追加子节点 QStringList heroL1,heroL2,heroL3,heroL4,heroL5,heroL6; heroL1 << "啦啦啦啦" << "为何物I是东风古汉语"; QTreeWidgetItem * l1 = new QTreeWidgetItem(heroL1); liItem->addChild(l1); heroL2 << "嘿嘿额黑" << "为何物I手动阀汉语"; QTreeWidgetItem * l2 = new QTreeWidgetItem(heroL2); liItem->addChild(l2); heroL3 << "哈哈哈哈" << "为何物I史蒂夫汉语"; QTreeWidgetItem * m1 = new QTreeWidgetItem(heroL3); minItem->addChild(m1); heroL4 << "嘻嘻嘻嘻" << "为何物水电费古汉语"; QTreeWidgetItem * m2 = new QTreeWidgetItem(heroL4); minItem->addChild(m2); heroL5 << "则啧啧啧" << "为何物IE水电费语"; QTreeWidgetItem * z1 = new QTreeWidgetItem(heroL5); zhiItem->addChild(z1); heroL6 << "呼呼呼呼" << "为何物I杀人汉语"; QTreeWidgetItem * z2 = new QTreeWidgetItem(heroL6); zhiItem->addChild(z2);
QTableWidget 表格控件
- 设置列数 ui->tableWidget->setColumnCount(3);
- 设置水平表头ui->tableWidget->setHorizontalHeaderLabels(QStringList() << "姓名" << "性别" << "年龄");
- 设置行数 ui->tableWidget->setRowCount(5);
- 设置正文 ui->tableWidget->setItem(0,0,new QTableWidgetItem("亚瑟"));
//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])); ui->tableWidget->setItem(i,col++,new QTableWidgetItem(sexList.at(i))); //int 转 QString ui->tableWidget->setItem(i,col++,new QTableWidgetItem(QString::number(i+18))); }
其他控件介绍
- stackedWidget 栈控件 ui->stackedWidget->setCurrentIndex(1);
- 下拉框 ui->comboBox->addItem("奔驰");
- QLabel 显示图片 ui->lbl_image->setPixmap(“:/Image/butterfly.png”));
- QLabel显示动图 gif图片 ui->lbl_movie->setMovie(movie); movie->start();
//下拉框 ui->comboBox->addItem("奔驰"); ui->comboBox->addItem("宝马"); ui->comboBox->addItem("拖拉机"); //点击按钮 选中拖拉机选项 connect(ui->btn_select,&QPushButton::clicked,[=](){ //ui->comboBox->setCurrentIndex(2); ui->comboBox->setCurrentText("拖拉机"); }); //QLabel 显示图片 ui->lbl_image->setPixmap(“:/Image/butterfly.png”)); //QLabel显示动图 gif图片 ui->lbl_movie->setMovie(movie); movie->start();