Qt_05

QTreeWidget

#include "widget.h"
#include "ui_widget.h"
#include <QTreeWidgetItem>
Widget::Widget(QWidget *parent)
    : QWidget(parent)
    , ui(new Ui::Widget)
{
    ui->setupUi(this);
    ui->treeWidget->setHeaderLabels(QStringList()<<"英雄"<<"英雄介绍");

    // TreeWidget中每个项目都叫 QTreeWidgetItem

    QTreeWidgetItem * Litem = new QTreeWidgetItem(QStringList()<<"力量");
    QTreeWidgetItem * Mitem = new QTreeWidgetItem(QStringList()<<"敏捷");
    QTreeWidgetItem * Zitem = new QTreeWidgetItem(QStringList()<<"智力");


    // 添加根节点
    ui->treeWidget->addTopLevelItem(Litem);
    ui->treeWidget->addTopLevelItem(Mitem);
    ui->treeWidget->addTopLevelItem(Zitem);

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


    // 添加子节点
    QTreeWidgetItem * L1 = new QTreeWidgetItem(l1);
    QTreeWidgetItem * L2 = new QTreeWidgetItem(l2);

    Litem->addChild(L1);
    Litem->addChild(L2);
}

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



效果图


在这里插入图片描述
这玩意记再多也没用,还得多敲

QStringList

这里面用到个QStringList类型,相当于C++中的list<string>

初始化赋值

	QStringList qstrList;
  	qstrList<<"Android" << "Qt Creator" << "Java" << "C++";

	qstrList.append("python");





QTableWidget

#include "widget.h"
#include "ui_widget.h"
#include <QStringList>

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

    // 设置具体内容
    QList<QString> name;
    name<<"亚瑟"<<"安琪拉"<<"程咬金"<<"妲己"<<"蒜香";
    
    QStringList sex;
    sex<<"男"<<"女"<<"男"<<"女"<<"女";


    for(int i=0;i<5;++i){
        int col=0;
        ui->tableWidget->setItem(i,col++,new QTableWidgetItem(name[i]));

        ui->tableWidget->setItem(i,col++,new QTableWidgetItem(sex.at(i)));

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

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


在这里插入图片描述

其他控件

#include "widget.h"
#include "ui_widget.h"

Widget::Widget(QWidget *parent)
    : QWidget(parent)
    , ui(new Ui::Widget)
{
    ui->setupUi(this);
    // 设置默认索引
     ui->stackedWidget->setCurrentIndex(0);
    
    
    // 点击按钮 切换Stack Widget页面
    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);
    });

}

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

ui中,使用了Scroll AreaTool BoxTab Widget以及容纳了这三个控件的Stacked Widget

前三个就不介绍了,很容易就能弄懂其功能
Stacked Widget不仅容纳了前面三个控件,还通过按钮实现了分页




ui界面,Stacked Widget是这样切换分页

在这里插入图片描述
但运行起来并没有这两个按钮,所以得自己设置切换页面功能

在这里插入图片描述
不同的分页,都会有一个currentIndex,所以可以通过按钮来设置当前index

	// 因为是在ui界面new的QPushButton 所以 引用btn1 需要用 ui指针 来 指引
	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);
    });





QLabel设置图片

	#include <QMovie>

	ui->label_image->setPixmap(QPixmap("://2.jpg"));
    // 自适应大小
    ui->label_image->setScaledContents(true);

    
    
    QMovie *movie = new QMovie(":/1.gif");
    ui->label_gif->setMovie(movie);

    // 播放动图
    movie->start();

在这里插入图片描述

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值