Qt_day03

目录

1.常用控件

1.1 按钮组

1.2 QListWidget

1.3 QTreeWidget 树控件

1.4 QTableWidget 表格控件使用

1.5 其他常用控件


1.常用控件

1.1 按钮组

1.1.1 QPushButton 最常用按钮,里面可以加图片

1.1.2 QToolButton  工具按钮 用于显示图片

  • 1.1.2.1 toolButtonStyle 设置显示图片和文件
  • 1.1.2.2 autoRaise透明凸起效果

1.1.3 QRadioButton 单选按钮

  • 1.1.3.1 默认选中  setChecked(true)

1.1.4 QCheckBox  复选按钮

  • 1.1.4.1 stateChanged 信号
  • 1.1.4.2  0  未选中
  • 1.1.4.3  1  半选中
  • 1.1.4.4  2  选中
//单选按钮 默认选中 男
ui->rbtn_Man->setChecked(true);

//点击女单选按钮 打印输出
connect(ui->radioButton_2, &QRadioButton::clicked,[=](){
    qDebug() << "选中了女的";
});

//复选按钮 点击环境好之后 监听
connect(ui->checkBox,&QCheckBox::stateChanged,[=](int state){
    qDebug() << state;
});

1.2 QListWidget

1.2.1 创建项 QListWidgetItem * item = new QListWidgetItem("锄禾日当午");

1.2.2 将项加载到 控件中  ui->listWidget->addItem(item);

1.2.3 设置对齐方式 item->setTextAlignment(Qt::AlignHCenter);

    //listWidget
    QListWidgetItem * item = new QListWidgetItem("锄禾日当午");

    ui->listWidget->addItem(item);

    item->setTextAlignment(Qt::AlignHCenter);


    //QStringList   QList<QString>  list<String>
    QStringList list;
    list << "锄禾日当午"<< "汗滴禾下土"<< "谁知盘中餐"<< "粒粒皆辛苦";
    ui->listWidget->addItems(list);

1.3 QTreeWidget 树控件

1.3.1 设置头 ui->treeWidget->setHeaderLabels(QStringList()<<"英雄"<<"英雄简介");

1.3.2 创建根项目 QTreeWidgetItem * liItem = new QTreeWidgetItem(QStringList()<<"力量");

1.3.3 将根项目添加到树控件中 ui->treeWidget->addTopLevelItem(liItem);

1.3.4 挂载子项目 

1.3.4.1 QTreeWidgetItem *li = new QTreeWidgetItem(heroL1);

1.3.4.2 liItem->addChild(li);

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

    //创建出力量的根
    QTreeWidgetItem *liItem = new QTreeWidgetItem
     (QStringList() <<"力量" );

    QTreeWidgetItem *sduItem = new QTreeWidgetItem
     (QStringList() <<"速度" );

    QTreeWidgetItem *zliItem = new QTreeWidgetItem
     (QStringList() <<"智力" );


    //将根放入到树中
    ui->treeWidget->addTopLevelItem(liItem);
    ui->treeWidget->addTopLevelItem(sduItem);
    ui->treeWidget->addTopLevelItem(zliItem);

    QStringList heroL1;
    heroL1 << "刚被猪" << "前排坦克,能在吸收伤害的同时造成可观的范围输出";
    heroL2 << "船长" << "前排坦克,能肉能输出能控场的全能英雄";

    heroM1 << "月骑" << "中排物理输出,可以使用分裂利刃攻击多个目标";
    heroM2 << "小鱼人" << "前排战士,擅长偷取敌人的属性来增强自身战力";

    heroZ1 << "死灵法师" << "前排法师坦克,魔法抗性较高,拥有治疗技能";
    heroZ2 << "巫医" << "后排辅助法师,可以使用奇特的巫术诅咒敌人与治疗队友";

    QTreeWidgetItem *li = new QTreeWidgetItem(heroL1);
    liItem->addChild(li);

1.4 QTableWidget 表格控件使用

1.4.1 设置列数  ui->tableWidget->setColumnCount(3);

1.4.2 设置水平表头 ui->tableWidget->setHorizontalHeaderLabels(QStringList() << "姓名" << "性别" << "年龄");

1.4.3 设置行数 ui->tableWidget->setRowCount(5);

 //tableWidget表格控件使用

    //设置列数
    ui->tableWidget->setColumnCount(3);

    //设置水平表头
    ui->tableWidget->setHorizontalHeaderLabels(
    QStringList() << "姓名" << "性别" << "年龄");

    //设置行数
    ui->tableWidget->setRowCount(5);

    QList<QString> nameList;

    nameList << "亚瑟" << "安琪拉" << "3" << "4" <<"5";

    QStringList 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[i]));

        ui->tableWidget->setItem(i,col++,new
        QTableWidgetItem(QString::number(i+10)));
    }

    //[i] == .at(i)
//    ui->tableWidget->setItem(0,2,
//    new QTableWidgetItem(QString("亚瑟")));
}

1.5 其他常用控件

1.5.1 栈控件 ui->stackedWidget->setCurrentIndex(0);  切换栈显示内容

1.5.2 下拉框 ui->comboBox->addItem("奔驰");

1.5.3 Qlabel显示图片  图片显示完全  ui->label->setScaledContents(true);

ui->label->setPixmap(QPixmap("D:/桌面/新建文件夹/050F62245B1397603453ADCF6D512581.jpg"));
ui->label->setScaledContents(true);

1.5.4 QLabel显示gif图片 

    //利用QLabel显示动态图片 格式要求gif
    QMovie * movie = new QMovie(":/Image/mario.gif");
    ui->label->setMovie(movie);
    movie->start();
#include "widget.h"
#include "ui_widget.h"
#include "QMovie"

Widget::Widget(QWidget *parent) :
    QWidget(parent),
    ui(new Ui::Widget)
{
    ui->setupUi(this);

    //点击按钮 切换 stacked容器
    //默认显示
     ui->stackedWidget->setCurrentIndex(1);

    connect(ui->btn1,&QPushButton::clicked,[=](){
        ui->stackedWidget->setCurrentIndex(0);
    });

    connect(ui->btn2,&QPushButton::clicked,[=](){
        ui->stackedWidget->setCurrentIndex(1);
    });

    connect(ui->btn3,&QPushButton::clicked,[=](){
        ui->stackedWidget->setCurrentIndex(2);
    });

    //下拉框使用
    ui->comboBox->addItem("奔驰");
    ui->comboBox->addItem("宝马");
    ui->comboBox->addItem("拖拉机");

    //点击按钮 选中拖拉机下拉框内容
    connect(ui->btn4,&QPushButton::clicked,[=](){
        //ui->comboBox->setCurrentIndex(2);
        ui->comboBox->setCurrentText("拖拉机");
    });

    //利用QLabel显示图片
    ui->label->setPixmap(QPixmap("D:/桌面/新建文件夹/050F62245B1397603453ADCF6D512581.jpg"));

    //利用QLabel显示动态图片 格式要求gif
    QMovie * movie = new QMovie(":/Image/mario.gif");
    ui->label->setMovie(movie);
    movie->start();
}

Widget::~Widget()
{
    delete ui;
}

day03  over!!! 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

颜回.

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值