QT学习随记 (五)—— 界面布局以及常用控件

一、界面布局

    1、实现登录窗口

    利用布局方式,美化窗口
    选取Widget 进行布局,水平布局,垂直布局,栅格布局
    给用户名,密码,登录,退出按钮进行布局
    默认窗口和控件之间有9像素间隙,可以调整LayoutLeftMargin
    利用弹簧进行布局

效果展示:

二、常用控件

1、按钮组

QPushButton 常用按钮

QToolButton 工具按钮,用于显示图片,如果想显示文字,修改风格:toolButtonStyle,凸起风格autoRaise

radioButton 单选按钮,设置默认 ui->rBtnMan->setChecked(ture);

checkbox 多选按钮,监听状态:2 选中 1半选 0未选

监听状态:

connect(ui->cBox,&QCheckBox::stateChanged,[=](int state){
        qDebug()<<state;
});
2、QListWidget 列表容器

QListWidgetitem * item 一行内容

ui->listWidget->additem(item)

设置居中的方式:

item->setTextAlignment(Qt::AlignHCenter);

 可以利用additems一次性添加整个诗句内容

3、QTreeWidget树控件

设置水平头

ui->treeWidget->setHeaderLabels(QStringList()<<"英雄"<<"英雄简介");

创建根节点

QTreeWidgetItem * ArmorItem = new QTreeWidgetItem(QStringList()<<"防御型");
QTreeWidgetItem * AttackItem = new QTreeWidgetItem(QStringList()<<"攻击型");
QTreeWidgetItem * AssistItem = new QTreeWidgetItem(QStringList()<<"支援型");

 添加根节点 到 控件上 添加顶层节点

ui->treeWidget->addTopLevelItem(ArmorItem);
ui->treeWidget->addTopLevelItem(AttackItem);
ui->treeWidget->addTopLevelItem(AssistItem);

追加子节点

    QStringList HeroA1;
    HeroA1<<"索尔"<<"强化反击,战斗中,自身失去护甲时,获得失去值一半的战斗力";
    QTreeWidgetItem * A1 = new QTreeWidgetItem(HeroA1);
    ArmorItem->addChild(A1);

    QStringList HeroA2;
    HeroA2<<"星爵"<<"我方角色发动的破敌技能额外生效一次";
    QTreeWidgetItem * A2 = new QTreeWidgetItem(HeroA2);
    AttackItem->addChild(A2);

    QStringList HeroA3;
    HeroA3<<"钢铁侠"<<"穿甲,先制,摧毁战斗力最低的敌人,并对其相邻角色造成10点伤害";
    QTreeWidgetItem * A3 = new QTreeWidgetItem(HeroA3);
    AssistItem->addChild(A3);

效果展示:

4、QTableWidget控件

设置列数

 ui->tableWidget->setColumnCount(3);

 //设置水平表头

 ui->tableWidget->setHorizontalHeaderLabels(QStringList()<<"姓名"<<"性别"<<"年龄");

 //设置行数

 ui->tableWidget->setRowCount(5);

//设置正文

 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)));
    }

效果展示: 

三、其他控件介绍

1.stackedWidget 栈控件
ui->stackedWidget->setCurrentindex(1);
2.下拉框
ui->comboBox->addItem("米拉诺号");
 3.QLable 显示图片
ui->lbl_Image->setPixmap(":/Image/Loki.png");
4.QLable显示动图
ui->lbl_movie->setMovie(movie);
movie->start();

 

  • 2
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值