当前位置: 首页 > article >正文

【Qt】编程基础

目录

一、Qt体系框架:

​编辑二、布局方式:

1.绝对布局

setGeometry()函数

2.盒子布局:

QHBoxLayout:水平布局管理器

QVBoxLayout:垂直布局管理器

QGridLayout:网格布局管理器

三、基本控件及其函数

标签类 :QLabel

按钮类:QPushButton

编辑框类 :QLineEdit

下拉框类:QComboBox

复选框类:QCheckBox

调色板类:QPalette

 提示框类:QMessageBox

QWidget基本函数:


一、Qt体系框架:

Qt类都有一个共同的祖先都是QObject类,其后面有三个大的子类分别负责不同的功能它们是:

  • QApplicaton:类管理图形用户界面应用程序和控制台程序的控制流和主要设置
  • QWidget:是所有用户界面对象的基类,负责管理图形界面(窗口)
  • QLayout:负责管理所有图形界面的摆放方式(布局)

二、布局方式:

1.绝对布局

setGeometry()函数

void QWidget::setGeometry ( int x, int y, int w, int h )

参数说明:

  x:表示子部件在父窗体行的位置

  y:表示子部件在父窗体列的位置

  w:表示子部件宽度

           h:表示子部件的高度

2.盒子布局:

  • QHBoxLayout:水平布局管理器

this->middle3=new QHBoxLayout();
this->middle3->addWidget(this->typeLab);

this->middle3->addWidget(this->typeBox);

this->middle3->setContentsMargins(80,0,80,0);//布局四周的距离,左上右下

  • QVBoxLayout:垂直布局管理器
  • QGridLayout:网格布局管理器

//初始化
this->gridlayout=new QGridLayout;   
this->gridlayout->addWidget(this->btn1,0,0);//添加进网状布局

//设置按钮随窗口变化
this->btn1->setSizePolicy(QSizePolicy::Expanding,QSizePolicy::Expanding);

//设置布局之间间隙
this->gridlayout->setSpacing(0);

//设置布局外边距

this->gridlayout->setMargin(0);

//舞台应用这个布局

this->setLayout(gridlayout);

三、基本控件及其函数

  • 标签类QLabel
  • 按钮类:QPushButton
  • 编辑框类 :QLineEdit

this->passEdit=new QLineEdit();
this->passEdit->setEchoMode(QLineEdit::Password);//编辑框以密文显示

  • 下拉框类:QComboBox

    QComboBox *typeBox;

//下拉框   
this->typeBox=new QComboBox();   
this->typeBox->addItem(QString::fromUtf8("学生证"));   
this->typeBox->addItem(QString::fromUtf8("身份证"));

  • 复选框类:QCheckBox

    QCheckBox *ck1;

    QCheckBox *ck2;

    QCheckBox *ck3;

  

  //复选框

    this->ck1=new QCheckBox(QString::fromUtf8("编程"));

    this->ck2=new QCheckBox(QString::fromUtf8("篮球"));

    this->ck3=new QCheckBox(QString::fromUtf8("足球"));

  • 调色板类:QPalette

//调色板
QPalette palette=this->palette();    palette.setBrush(QPalette::Background,QBrush(QPixmap("img/2.jpeg")));  //背景图片    //palette.setColor(QPalette::Background,Qt::black);   //背景颜色   
this->setPalette(palette);

  •  提示框类:QMessageBox

  • QWidget基本函数:
  • void QWidget::show ()//显示widget

  • void QWidget::hide ()//隐藏widget

  • bool QWidget::close ()//关闭widget

  • void QWidget:: resize ( int w, int h )//调整尺寸

  • void QWidget ::setWindowTitle()//设置窗口名字

  • void QWidget ::setWindowIcon()//设置窗口图标

例如:

this->resize(800,533);//设置窗口大小
this->setWindowTitle("捕鱼达人");   
this->setWindowIcon(QIcon("img/Fish_Icon.png"));


http://www.kler.cn/a/566880.html

相关文章:

  • UniApp+Vue3实现高性能无限滚动卡片组件:垂直滑动、触摸拖拽与动态导航的完美结合
  • SQL Server2022版+SSMS安装教程(保姆级)
  • MapReduce编程模型
  • 【AI+智造】在阿里云Ubuntu 24.04上部署DeepSeek R1 14B的完整方案
  • 更换k8s容器运行时环境为docker
  • 菜鸟之路Day18一一IO流综合练习
  • 处理AAL的.nii文件:python获取AAL的各个区域的质心坐标
  • STM32之影子寄存器
  • 【愚公系列】《Python网络爬虫从入门到精通》035-DataFrame数据分组统计整理
  • 一文掌握python中正则表达式的各种使用
  • 天佐.乾坤袋 基于抽屉式文件存储的NoSql数据库
  • Python安装环境变量
  • java项目之基于ssm的物流配送人员车辆调度管理系统的设计与实现(源码+文档)
  • 太速科技-887-基于 RFSoC 47DR的8T8R 100Gbps 软件无线电光纤前端卡
  • Mysql官网下载Windows、Linux各个版本
  • 48页PDF | GBT 36073-2018 数据管理能力成熟度评估模型 (附下载)
  • [讨论] oracle数据库游标更新时sql%rowcount影响数量记录的一个疑问
  • 本地部署AI大模型之PyTorch:如何使用whl文件安装PyTorch
  • Linux上用C++和GCC开发程序实现不同MySQL实例下单个Schema之间的稳定高效的数据迁移
  • 鸿蒙 ArkUI 实现 2048 小游戏