【QT】控件的用法介绍

本文介绍了在Qt中如何使用QLabel显示静态和动态图片,处理QPixmap和QPicture的区别,以及控件布局的重要性,包括单选按钮、多选按钮、listWidget、TableWidget、ToolBox和StackedWidget的用法和连接信号槽示例。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

QLabel(很重要)

QPixmap在Qt中代表的就是一张图片

QPicture不是图片

如果图片不能完整显示,那就是没有布局

   //添加静态图片
       如果构造的时候没有指定,可以在外面用load()指定图片路径
  ui->label->setPixmap(QPixmap(":/picture/86.jpg"));
//使得图片完整显示  
ui->label->setScaledContents(true);

添加动态图片

 //添加动态图片
       QMovie *movie = new QMovie(":/picture/mario.gif");
       ui->label->setMovie(movie);
       movie->start();//启动播放

请添加图片描述

只能播放gif的图片

不能播放mp4

必须是指针,因为在看的时候movie,对象变量已经被析构了,就看不到了,而指针则需要手动去释放(这里是Qt的内存回收机制来释放)。

单选框

Group Box

在这里插入图片描述

一定要对放进去的控件布局,否则看不到

多选框

在这里插入图片描述

加入槽函数

在这里插入图片描述

#include "widget.h"
#include "ui_widget.h"
#include <QMessageBox>
#include <QCheckBox>
Widget::Widget(QWidget *parent) :
    QWidget(parent),
    ui(new Ui::Widget)
{  
       ui->setupUi(this);
       this->setWindowTitle("网易");
       //this->setWindowIcon(QIcon(":/picture/86.jpg"));
       this->setFixedSize(500,500);
              //单选按钮
       connect(ui->radioButton,&QRadioButton::released,this,[=](){

           QMessageBox::information(this,"radiobutton","haha+++");
       });
//多选按钮
       connect(ui->checkBox,&QCheckBox::stateChanged,this,[=](int state){

           QMessageBox::information(this,"checkBox",QString::number(state));
       });                                             //打印state的值

}

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

listWidget

在这里插入图片描述

  ui->listWidget->addItem("你好,世界");
   QListWidgetItem *Item = new  QListWidgetItem(QIcon(":/picture/86.jpg"),"king");
   ui->listWidget->addItem(Item);
   //ui->listWidget->addItem(new QListWidgetItem(QIcon(":/picture/86.jpg"),"king"));

Table Widget

在这里插入图片描述

        //1.指定行数
        ui->tableWidget->setRowCount(100);
        //2.指定列数
        ui->tableWidget->setColumnCount(3);
        
    
        QStringList list;
        list<<"姓名"<<"性别"<<"年龄";
        ui->tableWidget->setHorizontalHeaderLabels(list);
        QTableWidgetItem *Item1 = new QTableWidgetItem(QIcon(":/picture/86.jpg"),"king");
        ui->tableWidget->setItem(0,0,Item1);

滚轮

可以显示更多内容

在这里插入图片描述

ToolBox

在这里插入图片描述

StackedWidget

在这里插入图片描述

    connect(ui->pushButton_10,&QPushButton::pressed,this,[=](){

        ui->stackedWidget->setCurrentIndex(0);
    });
    connect(ui->pushButton_11,&QPushButton::pressed,this,[=](){

        ui->stackedWidget->setCurrentIndex(1);
    });
    connect(ui->pushButton_8,&QPushButton::pressed,this,[=](){

        ui->stackedWidget->setCurrentIndex(2);
    });

Combo Box

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值