【QT】控件的用法介绍

QLabel(很重要)

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

QPicture不是图片

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

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

添加动态图片

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

只能播放gif的图片

不能播放mp4

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

单选框

Group Box

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

多选框

加入槽函数

c 复制代码
#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

c 复制代码
  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

c 复制代码
        //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

c 复制代码
    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

相关推荐
认真的酒窝2 小时前
自己动手开发编译器(十一)语义分析
java·开发语言
wbs_scy4 小时前
Linux C++ 高并发编程:线程池全链路深度解析,从原理到手撕实现
java·开发语言
JAVA面经实录9174 小时前
Linux 常用命令完整知识体系
java·linux·开发语言·汇编
贪玩的蛋挞4 小时前
C#与闭包
开发语言·c#
端庄的战斗机4 小时前
javascript 设计模式(文章很长,请自备瓜子,水果和眼药水)
开发语言·javascript·设计模式
Full Stack Developme5 小时前
Java LRU 与 LFU 算法及应用
java·开发语言·算法
C语言小火车7 小时前
C++ 堆排序深度精讲:基于完全二叉树的选择排序进化,最坏情况 O(n log n) 的稳定王者
开发语言·c++·算法·排序算法·堆排序
北冥you鱼7 小时前
abigen 最佳实践:从入门到精通,高效生成 Go 语言合约绑定
开发语言·golang·区块链
ALex_zry7 小时前
C++26 std::complex 结构化绑定详解:auto [re, im] = c
c语言·开发语言·c++
她说..8 小时前
Java 默认值设置方式
java·开发语言·后端·springboot