QPushbutton

news2024/11/23 10:03:10

QPushbutton

  • API
  • 使用方式

QPushbutton大部分时候都需要使用它从父类QAbstractbutton中继承过来的那些 API。

API

// 构造函数
/*
参数:
    - icon: 按钮上显示的图标
    - text: 按钮上显示的标题
    - parent: 按钮的父对象, 可以不指定
*/
QPushButton::QPushButton(const QIcon &icon, const QString &text, QWidget *parent = nullptr);
QPushButton::QPushButton(const QString &text, QWidget *parent = nullptr);
QPushButton::QPushButton(QWidget *parent = nullptr);

// 判断按钮是不是默认按钮
bool isDefault() const;
// 一般在对话框窗口中使用, 将按钮设置为默认按钮, 自动关联 Enter 键 
void setDefault(bool);

/*
将弹出菜单菜单与此按钮关联起来。这将把按钮变成一个菜单按钮,
在某些样式中会在按钮文本的右边产生一个小三角形。
*/
void QPushButton::setMenu(QMenu *menu);

/*
显示(弹出)相关的弹出菜单。如果没有这样的菜单,这个函数什么也不做。
这个函数直到弹出菜单被用户关闭后才返回。
*/
[slot] void QPushButton::showMenu();

在这里插入图片描述

使用方式

通过API的介绍, 我们可以知道, 使用QPushButton这种类型的按钮, 有三种使用方式:

  • 作为普通按钮, 可以显示文本信息和图标
  • 设置check属性, 使其可以处于持续的被选中状态
  • 关联一个菜单, 点击按钮菜单弹出

具体操作可以参考如下代码

在这里插入图片描述

#include "mainwindow.h"
#include "ui_mainwindow.h"
#include "QIcon"
#include "QSize"
#include "QDebug"

MainWindow::MainWindow(QWidget *parent)
    : QMainWindow(parent)
    , ui(new Ui::MainWindow)
{
    ui->setupUi(this);
    this->ui->p1->setText("hello");
    this->ui->p1->setIcon(QIcon("C://Users//DYF//Pictures//Camera Roll//a.png"));
    this->ui->p1->setIconSize(QSize(30,30));

    //普通按钮
    this->ui->normalBtn->setText("normalBtn");
    this->ui->normalBtn->setIcon(QIcon("C://Users//DYF//Pictures//Camera Roll//a.png"));
    this->ui->normalBtn->setIconSize(QSize(30,30));
    connect(ui->normalBtn,&QPushButton::clicked,this,[=](){
        qDebug()<<"点击了普通按钮一下";
    });

    //有checked属性的按钮
    //void QAbstractButton::setCheckable(bool);
    // 参数为true: 点击按钮, 按钮被选中, 松开鼠标, 按钮不弹起
    // 参数为false: 点击按钮, 按钮被选中, 松开鼠标, 按钮弹起
    this->ui->checkedBtn->setCheckable(true);
    connect(ui->checkedBtn,&QPushButton::toggled,this,[=](bool bl){
        qDebug()<<"点击了checked按钮一下,当前状态为: "<<bl;
    });

    // 关联菜单
    ui->menuBtn->setText("你喜欢哪种美女?");
    QMenu* menu = new QMenu;
    QAction* act = menu->addAction("可爱的");
    menu->addAction("粘人的");
    menu->addAction("胸大的");
    menu->addAction("屁股翘的");
    ui->menuBtn->setMenu(menu);
    connect(act, &QAction::triggered, this, [=]{
        qDebug() << "我是一个可爱的女人, 今晚约吗?";
    });

}

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


效果展示:
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/911563.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Python学习 -- 类的封装

当谈及面向对象编程&#xff08;Object-Oriented Programming&#xff0c;OOP&#xff09;&#xff0c;封装是其中的一个重要概念。封装是指将数据和方法封装在一个单一的实体中&#xff0c;以达到隐藏内部实现细节、提供统一接口、提高代码可维护性等目的。在Python中&#xf…

智慧水务在供水行业的应用场景

什么是“智慧水务” 智慧水务指利用物联网、智能传感、云计算、大数据、人工智能等技术对供水、排水、节水、污水 处理、防洪等水务环节进行智慧化管理。智慧水务通过结合传感器、通信网络、水务信息系统提升水务信息化水平&#xff0c;实现水务管理协同化、水资源利用高效化、…

SFL212B-10-21-15、SFL212B-20-21-40喷嘴挡板伺服阀

SFL212B-05-21-10、SFL212B-10-21-15、SFL212B-20-21-40、SFL212-05-32-10、SFL212-10-32-15、SFL212-20-32-40、SFL212A-05-21-10、SFL212A-10-21-15、SFL212A-20-21-40喷嘴挡板力反馈伺服阀&#xff0c;外置伺服放大器&#xff0c;四通&#xff0c;带阀芯阀套的两级伺服阀&am…

打造基于AI的一站式节能减碳方案,南洋万邦助力工业园区实现“双碳”目标

工业是产生碳排放的主要领域之一。相关数据显示&#xff0c;2022年&#xff0c;中国碳排放量累计110亿吨&#xff0c;其中工业排放量42亿吨&#xff0c;占全国排放量的38.18%。国务院印发的《2030年前碳达峰行动方案》将“工业领域碳达峰行动”列为“碳达峰十大行动”之一&…

MIPI-D/C PHY的PCB布局布线要求

MIPI&#xff08;移动行业处理器接口&#xff09;是专为移动设备&#xff08;如智能手机、平板电脑、笔记本电脑和混合设备&#xff09;设计的行业规范的标准定义。其常见的通用的唯一物理&#xff08;PHY&#xff09;层&#xff0c;即MIPI D-PHY和C-PHY。 MIPI D-PHY&#xf…

春秋云境:CVE-2021-40282(zzcms注入)

一、题目 靶标介绍&#xff1a; 站长招商网内容管理系统简称 ZZCMS&#xff0c;由ZZCMS团队开发&#xff0c;融入数据库优化&#xff0c;内容缓存&#xff0c;AJAX等技术&#xff0c;使网站的安全性 、稳定性 、负载能力得到可靠保障。源码开放&#xff0c;功能模块独立&#…

vue3安装组件

如何创建vue项目链接&#xff1a;http://t.csdn.cn/tX8wY 新建vue项目如何配置&#xff1a;http://t.csdn.cn/YLdTG 我们这里拿vant组件演示 首先安装组件库 # Vue 3 项目&#xff0c;安装最新版 Vant npm i vant 可以在package.json查看 我们找到main.js 按钮举例 写入自…

管理类联考——英语——汇总篇——知识+真题——作文——模板——书信——为自己——询问,邀请,请求,求职

目录 询问信 万能模板 普通模板 邀请信 万能模板 普通模板 请求信 万能模板 普通模板 求职信 万能模板 询问信 万能模板 普通模板 Dear ______, I am __________________(自我介绍). I am writing to see if it is possible for you to provide me with inform…

Nest(3):扫盲篇:TypeScript 类和装饰器

前言 先回顾下前文中介绍了哪些内容&#xff1a; 使用 nestjs/cli 创建和管理 Nest 应用Hello, World 示例代码分析Nest 基本概念&#xff1a;模块&#xff0c;控制器&#xff0c;服务常用的装饰器&#xff1a;Module、Controller、Get、InjectableNest 目录结构分析nest/cli…

撸卡、撸货、采退成功率低是什么原因,以及解决办法

在亚马逊和沃尔玛平台上&#xff0c;无论是进行测评、撸卡还是撸货&#xff0c;首要任务就是确保环境的安全性和稳定性。稳定的环境是进行测评和撸卡的基础&#xff0c;如果无法解决安全性问题&#xff0c;那么就不值得进行这些项目。进行环境技术研发已有六七年的时间&#xf…

GB28181国标平台测试软件NTV-GBC(包含服务器和模拟客户端)

GB28181国标平台测试软件NTV-GBC用于对GB28181国标平台进行测试(测试用例需要服务器软件&#xff0c;服务器软件可以是任何标准的国标平台&#xff0c;我们测试使用的是NTV-GBS&#xff09;&#xff0c;软件实现了设备注册、注销、目录查询&#xff0c;消息订阅、INVITE&#x…

惊艳亮相!天翼物联5G工业物联产品获主流媒体关注

近日&#xff0c;由工业和信息化部与广东省人民政府共同主办的2023年中国数字经济创新发展大会举行。作为赋能汕头玩具创意和纺织服装“两特”产业数字化的重要抓手&#xff0c;天翼物联5G工业物联产品惊艳亮相中国电信主展台&#xff0c;并得到了广东广播电视台等媒体的关注。…

亚马逊买家怎么留评

亚马逊买家可以按照以下步骤在购买后留下产品评价&#xff1a; 1、登录亚马逊账户&#xff1a;首先&#xff0c;在网页浏览器中打开亚马逊网站&#xff0c;登录你的亚马逊账户。 2、找到订单&#xff1a;在页面上找到并点击你购买过的商品的"我的订单"或"订单…

【LeetCode】151. 反转字符串中的单词 - 双指针

目录标题 2023-8-22 09:53:10原始优化 151. 反转字符串中的单词 2023-8-22 09:53:10 也是想到了快慢指针的思想。 原始 class Solution {public String reverseWords(String s) {int length s.length();Integer pre null;Integer last null;StringBuilder stringBuilde…

LeetCode--HOT100题(38)

目录 题目描述&#xff1a;226. 翻转二叉树&#xff08;简单&#xff09;题目接口解题思路代码 PS: 题目描述&#xff1a;226. 翻转二叉树&#xff08;简单&#xff09; 给你一棵二叉树的根节点 root &#xff0c;翻转这棵二叉树&#xff0c;并返回其根节点。 LeetCode做题链…

Power apps:做个简单的扫码应用

Power apps的扫码应用只能客户端使用 一、创建一个窗口"扫码APP”,插入媒体工具“条形码读卡器” 二、如果需要在扫码时做一个动作&#xff0c;可以设置它的属性&#xff0c;比如跳转窗口之类的 三、添加一个文本标签&#xff0c;实现在扫码后标签显示条形码&#xff08…

(三)行为模式:5、中介者模式(Mediator Pattern)(C++示例)

目录 1、中介者模式&#xff08;Mediator Pattern&#xff09;含义 2、中介者模式的UML图学习 3、中介者模式的应用场景 4、中介者模式的优缺点 &#xff08;1&#xff09;优点 &#xff08;2&#xff09;缺点 5、C实现中介者模式的实例 1、中介者模式&#xff08;Media…

数字图像处理—— Lab、YCbCr、HSV、RGB之间互转

Lab “Lab” 图像格式通常指的是 CIELAB 色彩空间&#xff0c;也称为 Lab 色彩空间。它是一种用于描述人类视觉感知的颜色的设备无关色彩空间&#xff0c;与常见的 RGB 和 CMYK 色彩空间不同。CIELAB 由国际照明委员会&#xff08;CIE&#xff09;于1976年定义&#xff0c;用于…

工业生产全面感知!工业感知云来了

面向工业企业数字化转型需求&#xff0c;天翼物联基于感知云平台创新能力和5G工业物联数采能力&#xff0c;为客户提供工业感知云服务&#xff0c;包括工业泛协议接入、感知云工业超轻数采平台、工业感知数据治理、工业数据看板四大服务&#xff0c;构建工业感知神经系统新型数…

MySQL分页查询-性能优化

MySQL分页查询优化 一、背景二、原因三、原理分析 https://blog.csdn.net/hollis_chuang/article/details/130570281 一、背景 业务背景&#xff1a;给C端10万级别的用户&#xff0c;同时发送活动消息&#xff0c;活动消息分为6类。数据背景&#xff1a;mysql表有百万级别的数…