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

Qt应用开发(基础篇)——普通按钮类 QPushButton QCommandLinkButton

一、前言

        QPushButton类继承于QAbstractButton,是一个命令按钮的小部件。

        按钮基类 QAbstractButton

        按钮或者命令按钮是所有图形界面框架最常见的部件,当按下按钮的时候触发命令执行某些操作或者回答一个问题,典型的按钮有OKApplyCancelCloseYesNoHelp。

        按钮默认是矩形的,但是在macOS上,当按钮的宽度小于50或高度小于30时,按钮的角将从圆形变为方形,使用setMinimumSize()函数来防止这种行为。

        按钮显示文本标签和可选的小图标。这些可以使用构造函数进行设置,也可以使用setText()setIcon()进行更改。如果按钮被禁用,则文本和图标的外观将根据GUI样式进行操作,使按钮看起来“禁用”。

        按钮通常显示一个描述其操作的文本标签,可以通过在文本中在首选字符前面加上“&”号来指定快捷键。例如:

 QPushButton *button = new QPushButton("&Download", this);

        当按下Alt+D的时候焦点会回到按钮身上,如果要显示“&”文本使用“&&”即可。

        当按钮被鼠标、空格键或键盘快捷键激活时,它会发出clicked()信号。连接到这个信号来执行按钮的动作。按钮还提供不太常用的信号,例如pressed()released()

        命令按钮的一种变体是菜单按钮。它们不仅提供一个命令,而且提供多个命令,因为当单击它们时,它们会弹出一个选项菜单。使用setMenu()方法将弹出式菜单与按钮关联起来。

二、QPushButton类

 1、autoDefault

        该属性用于是否自动为默认按钮,默认为false,如果设置为true,会有一个3像素的边框表示。

bool autoDefault() const       
void setAutoDefault(bool)      

 2、default

       该属性用于是否为默认按钮,默认为false,如果设置为true,会有一个3像素的边框表示。默认和自动默认按钮主要是用来响应用户按下Enter和Space按键响应。

 bool isDefault() const        void setDefault(bool)        

3、flat

        该属性用于确定按钮边框是否凸起,默认为false。如果设置为true,则不会绘制按钮背景,除非按钮被按下。

bool isFlat() const        
void setFlat(bool)        

4、menu

        将弹出式菜单菜单与此按钮关联。这将按钮变成一个菜单按钮,在某些样式中,它将在按钮文本的右侧产生一个小三角形。

QMenu *QPushButton::menu() const          
void QPushButton::setMenu(QMenu *menu) 
QMenu *menu = new QMenu();
QAction *act1 = new QAction("复制");
QAction *act2 = new QAction("粘贴");
QAction *act3 = new QAction("剪切");
menu->addAction(act1);
menu->addAction(act2);
menu->addAction(act3);
ui->pushButton->setMenu(menu);

5、公共槽函数

1)showMenu

        显示(弹出)相关的弹出菜单。如果没有这样的菜单,这个函数什么也不做。该函数在用户关闭弹出式菜单之前不会返回。

void showMenu()

三:QCommandLinkButton类

        命令链接是Windows Vista引入的一个新控件。它的预期用途类似于单选按钮,用于在一组互斥选项之间进行选择。命令链接按钮不应该单独使用,而应该作为向导和对话框中单选按钮的替代品,并使按下“下一步”按钮变得多余。其外观通常与平面按钮相似,但除了普通按钮文本之外,它还允许使用描述性文本。默认情况下,它还会带有一个箭头图标,表示按下该控件将打开另一个窗口或页面。

        

1、description

        该属性用于描述文本,字体大小会比文本小。

QString description() const                        //获取描述文本
void setDescription(const QString &description)    //设置描述文本
http://www.lryc.cn/news/161125.html

相关文章:

  • Data Structures Fan(cf)
  • BIOS < UEFI
  • 微信最新更新隐私策略(2023-08-15)
  • Java中xml转javaBean
  • Spring Boot集成JPA和ClickHouse数据库
  • Hadoop生态圈中的Hive数据仓库技术
  • idea配置gitLab
  • 工程可以编译通过,但是Vscode依然有波浪线提示
  • 黑马JVM总结(二)
  • 《Effective C++中文版,第三版》读书笔记7
  • 脚本:python实现动态爱心
  • 【李宏毅】深度学习6:机器学习任务攻略
  • 如何使用SQL SERVER的OpenQuery
  • element-tree树结构-默认选中第一个节点高亮-根据id选中节点高亮
  • Python实操 PDF自动识别并提取Excel文件
  • JVM监控和调优常用命令jps|jstat|jinfo|jmap|jhat|jstack实战
  • chatglm2-6b在P40上做LORA微调 | 京东云技术团队
  • WebGL 同时使用多幅纹理
  • 探索云计算和大数据分析的崛起:API行业的机遇与挑战【电商大数据与电商API接入】
  • android studio通过wifi、无线连接设备
  • kafka 3.5 主题分区ISR伸缩源码
  • 1-centOS7搭建伪分布式
  • 对开源自动化测试平台MeterSphere的使用感触
  • Spring boot 第一个程序
  • 【SpringMVC】实现增删改查(附源码)
  • 理财是什么?怎样学习理财?
  • 华为云云耀云服务器L实例评测 | 开启OPC UA之旅
  • 帝国CMS灵动标签如何调用$ecms_hashur[‘ehref‘]函数
  • ES6 拓展(下)
  • TouchGFX之自定义触发条件和操作