Qt——常用控件

[复制链接]
发表于 2025-12-30 18:21:13 | 显示全部楼层 |阅读模式
媒介:本篇文章,将分享Qt中常用的,具有代表性的一些控件。
<hr> 一.按钮类控件

在前边的文章中我们也多次分享过PushButton按钮,但Qt中并非只提供这一种按钮。
在Qt中,QPushButton并非直接继承自QWidget,QAbstractButton才是它的父类,这个父类是一个抽象类,继承自QWidget。
另有别的几个按钮控件,和QPushButton一样,都继承自QAbstractButton,以是说,QAbstractButton包罗了这些按钮控件的公共属性的方法
<hr> 1.QPushButton

QPushButton的常见属性:
   text :按钮中的文本
  icon :按钮中的图标
  iconSize :按钮中图标的尺寸
  shortCut :按钮对应的快捷键
  autoRepeat :按钮是否会重复触发. 当鼠标左键按住不放时, 假如设为 true, 则会连续产生鼠标点击变乱; 假如设为 false, 则必须开释鼠标, 再次按下鼠标时才气产生点击变乱. (相当于枪战游戏中枪的连射照旧单射)
  autoRepeatDelay :重复触发的延时时间. 按住按钮多久之后, 开始重复触发.
  autoRepeatInterval :重复触发的周期.
  <hr> 2.QRadioButton

QRadioButton 是单选按钮. 可以让我们在多个选项中选择⼀个。
常见属性:
      checkable :是否能选中。
   checked :是否已经被选中. checkable 是 checked 的条件条件。
   autoExclusive :是否排他. 选中⼀个按钮之后是否会取消其他按钮的选中. 对于QRadioButton 来说默认就是排他的。
    所谓排他性,就是当存在多个单选按钮时,选中一个按钮之后,就会取消其他按钮的选中状态。

好比说当我选中春天时,再去选中炎天,就会自动取消春天的选中状态。
固然,上述单选按钮还存在一个题目,当同一个界面上出现多个单选按钮,我们盼望这些按钮之间分为几个组合,组合与组合之间互不影响。此时由于团体的排他性,我们无法实现差别组的按钮之间不会存在排他性
为相识决这一题目,Qt筹划了QButtonGroup类,可以针对按钮举行真正的分组。
利用QButtonGroup类,必要包罗同名头文件
  1. // 创建两个个 QButtonGroup
  2. QButtonGroup* group1 = new QButtonGroup(this);
  3. QButtonGroup* group2 = new QButtonGroup(this);
  4. // 把 QRadioButton 两两⼀组, 放到两个个 QButtonGroup 中.
  5. group1->addButton(ui->radioButton);
  6. group1->addButton(ui->radioButton_2);
  7. group2->addButton(ui->radioButton_3);
  8. group2->addButton(ui->radioButton_4);
复制代码

分组之后,差别组的按钮之间就不会存在排他性了。
<hr> 3.QCheckBox

QCheckBox 表现复选按钮. 可以答应选中多个。
QCheckBox 最干系的属性也是 checkable 和 checked,这里就不继承先容。

<hr> 二.体现类控件

1.QLabel

QLabel 可以用来体现文本和图片
常见属性:
   text :QLabel 中的文本
  textFormat :文本的格式.
  
       
  • Qt:lainText :纯文本   
  • Qt::RichText :富文本(支持 html 标签)   
  • Qt::MarkdownText :markdown 格式,提供各种特别符号,表现差别的样式/格式   
  • Qt::AutoText :根据文本内容自动决定文本格式.  
  pixmap:QLabel 内部包罗的图片.
  scaledContents :设为 true 表现内容自动拉伸添补 QLabel,设为 false 则不会自动拉伸
  alignment :对齐方式. 可以设置水平和垂直方向怎样对齐.
  wordWrap :设为 true 内部的文本会自动换行. 设为 false 则内部文本不会自动换行.
  indent :设置文本缩进. 水平和垂直方向都见效.
  margin :内部文本和边框之间的边距. 差别于 indent, 但是是上下左右四个方向都同时有效. 而 indent 最多只是两个方向有效(具体哪两个方向有效取决于 alignment )
  openExternalLinks :是否答应打开⼀个外部的链接. (当 QLabel 文本内容包罗 url 的时间涉及到)
  buddy :给 QLabel 关联⼀个 "搭档" , 如许点击 QLabel 时就能激活对应的搭档. 比方搭档假如是⼀个 QCheckBox, 那么该 QCheckBox 就会被选中.
  <hr> 2.QLCDNumber

QLCDNumber是⼀个专门用来体现数字的控件. 雷同于 "老式盘算器" 的结果。

常见属性:
      intValue :QLCDNumber 体现的数字值(int).        value :QLCDNumber 体现的数字值(double). 和 intValue 是联动的. 比方给 value 设为 1.5, intValue 的值就是 2. 别的, 设置 value 和 intValue 的方法名字为 display , 而不是    setValue    或 者 setIntValue    .        digitCount :体现几位数字.        mode :数字体现情势.     
       
  • QLCDNumber:ec :十进制模式,体现通例的十进制数字。   
  • QLCDNumber::Hex :十六进制模式,以十六进制格式体现数字。   
  • QLCDNumber::Bin :二进制模式,以二进制格式体现数字。   
  • QLCDNumber::Oct :八进制模式,以八进制格式体现数字。  
     segmentStyle :设置体现风格.     
       
  • QLCDNumber::Flat :平面的体现风格,数字出现在⼀个平展的外貌上。   
  • QLCDNumber::Outline :表面体现风格,数字具有清楚的表面和阴影结果。   
  • QLCDNumber::Filled :添补体现风格,数字被添补颜色并与配景区分开。  
     smallDecimalPoint :设置比力小的小数点.      <hr>  3.QProgressBar

  利用QProgressBar 表现⼀个进度条
  

  干系属性:
         minimum :进度条最小值           maximum :进度条最大值           value :进度条当前值           alignment :文本在进度条中的对齐方式.      
       
  • Qt::AlignLeft : 左对齐   
  • Qt::AlignRight : 右对齐   
  • Qt::AlignCenter : 居中对齐   
  • Qt::AlignJustify : 两头对齐   
       textVisible :进度条的数字是否可见.           orientation :进度条的方向是水平照旧垂直           invertAppearance :是否是朝反方向增上进度           textDirection :文本的朝向.           format :展示的数字格式.      
       
  • %p :表现进度的百分比(0-100)   
  • %v :表现进度的数值(0-100)   
  • %m :表现剩余时间(以毫秒为单位)   
  • %t :表现总时间(以毫秒为单位)   
    <hr> 4.QCalendarWidget

QCalendarWidget 表现一个 "日历"。

干系属性:
   selectDate :当前选中的日期
  minimumDate :最小日期
  maximumDate :最大日期
  firstDayOfWeek :每周的第⼀天(也就是日历的第⼀列) 是周几.
  gridVisible :是否体现

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!qidao123.com:ToB企服之家,中国第一个企服评测及软件市场,开放入驻,技术点评得现金

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

×
回复

使用道具 举报

登录后关闭弹窗

登录参与点评抽奖  加入IT实名职场社区
去登录
快速回复 返回顶部 返回列表