47-Qt控件详解:Buttons Containers1

一 QPushButton (命令按钮)

#ifndef MAINWINDOW_H
#define MAINWINDOW_H#include <QMainWindow>
#include <QPushButton>//引入QPushButton类对应的头文件class MainWindow : public QMainWindow
{Q_OBJECTpublic:MainWindow(QWidget *parent = nullptr);~MainWindow();
private://声明两个QPushButton对象QPushButton *pb1,*pb2;private slots://声明对象pb1,pb2的槽函数void pushbutton1_clicked();void pushbutton2_clicked();};
#endif // MAINWINDOW_H#include "mainwindow.h"MainWindow::MainWindow(QWidget *parent): QMainWindow(parent)
{//setGeometry()改变窗口的大小(pos()size())this->setGeometry(300,150,500,300);//QString::fromLocal8Bit("命令按钮1")//实例化两个命令按钮对象pb1 = new QPushButton("命令按钮1",this);pb2 = new QPushButton("命令按钮2",this);//设置两个QPushButton对象的坐标位置pb1->setGeometry(20,20,150,50);pb2->setGeometry(20,90,150,50);//与信号槽函数连接connect(pb1,SIGNAL(clicked()),this,SLOT(pushbutton1_clicked()));connect(pb2,SIGNAL(clicked()),this,SLOT(pushbutton2_clicked()));}MainWindow::~MainWindow()
{}//声明对象pb1,pb2的槽函数
void MainWindow::pushbutton1_clicked()
{//this->setStyleSheet("QMainWindow{background-color:rgba(255,255,0,100%);}");
}void MainWindow::pushbutton2_clicked()
{this->setStyleSheet("QMainWindow{background-color:rgba(255,0,0,100%);}");
}

 

二 QToolButton (工具按钮) 

#ifndef MAINWINDOW_H
#define MAINWINDOW_H#include <QMainWindow>
#include <QToolBar>//引入QToolBar类
#include <QToolButton>//引入QToolButton类
class MainWindow : public QMainWindow
{Q_OBJECTpublic:MainWindow(QWidget *parent = nullptr);~MainWindow();private://声明一个QToolButton对象和QToolBar对象QToolBar *tbar;QToolButton *tbutton;
};
#endif // MAINWINDOW_H#include "mainwindow.h"
#include <QStyle>
#include <QApplication>
MainWindow::MainWindow(QWidget *parent): QMainWindow(parent)
{//3.setGeometry()改变窗口的大小(pos()size())this->setGeometry(300,150,500,300);//4.将QToolBar对象进行实例化tbar = new QToolBar(this);tbar->setGeometry(20,20,200,50);//5.将QStyle类对象进行实例化,主要目的设置风格,图标是系统自带QStyle *sty = QApplication::style();QIcon ico = sty->standardIcon(QStyle::SP_TitleBarContextHelpButton);//6.将QToolButton对象进行实例化tbutton = new QToolButton();tbutton->setIcon(ico);//设置显示的文本tbutton->setText("系统帮助提示");//调用函数setToolButtonStyle()函数设置tbutton样式,//设置文本在图标下方tbutton->setToolButtonStyle(Qt::ToolButtonTextUnderIcon);//将tbutton添加到tbar里面tbar->addWidget(tbutton);}
MainWindow::~MainWindow()
{
}

三 QRadioButton (单选按钮)  

#ifndef MAINWINDOW_H
#define MAINWINDOW_H#include <QMainWindow>
#include <QRadioButton>class MainWindow : public QMainWindow
{Q_OBJECTpublic:MainWindow(QWidget *parent = nullptr);~MainWindow();
private://声明2个QRadioButton对象radb1;radb2;QRadioButton *radb1,*radb2;};
#endif // MAINWINDOW_H#include "mainwindow.h"
#include <QStyle>
MainWindow::MainWindow(QWidget *parent): QMainWindow(parent)
{//3.setGeometry()改变窗口的大小(pos()size())this->setGeometry(300,150,500,300);//this->setStyleSheet("QMainWindow {background-color:rgba(255,0,0,100%);}");//将QRadioButton类的两个对象实例化radb1 = new QRadioButton(this);radb2 = new QRadioButton(this);//设置两个对象位置radb1->setGeometry(20,20,150,40);radb2->setGeometry(20,80,150,40);//设置两个单选按钮文本radb1->setText("选择按钮1");radb2->setText("选择按钮2");//设置命令按钮默认值checkedradb1->setChecked(true);radb2->setChecked(false);}MainWindow::~MainWindow()
{
}

四 QCheckBox (复选框按钮)

#ifndef MAINWINDOW_H
#define MAINWINDOW_H#include <QMainWindow>
#include <QCheckBox>class MainWindow : public QMainWindow
{Q_OBJECTpublic:MainWindow(QWidget *parent = nullptr);~MainWindow();private://声明QCheckBox对象QCheckBox *cb;
private slots://声明QCheckBox槽函数,在操作过程当中并且带参数传递,通过这个参数接收信号void checkboxstate(int);};
#endif // MAINWINDOW_H//.c#include "mainwindow.h"
#include <QStyle>
MainWindow::MainWindow(QWidget *parent): QMainWindow(parent)
{//3.setGeometry()改变窗口的大小(pos()size())this->setGeometry(300,150,500,300);//this->setStyleSheet("QMainWindow {background-color:rgba(255,0,0,100%);}");//将QRadioButton类的两个对象实例化radb1 = new QRadioButton(this);radb2 = new QRadioButton(this);//设置两个对象位置radb1->setGeometry(20,20,150,40);radb2->setGeometry(20,80,150,40);//设置两个单选按钮文本radb1->setText("选择按钮1");radb2->setText("选择按钮2");//设置命令按钮默认值checkedradb1->setChecked(true);radb2->setChecked(false);}MainWindow::~MainWindow()
{
}

五 Command Link Button(命令链接按钮 )

#ifndef MAINWINDOW_H
#define MAINWINDOW_H#include <QMainWindow>
#include <QCommandLinkButton>//class MainWindow : public QMainWindow
{Q_OBJECTpublic:MainWindow(QWidget *parent = nullptr);~MainWindow();
private://声明一个QCommandLinkButton对象QCommandLinkButton *clb;
private slots://声明槽函数使用鼠标点击clb之后触发void clbClicked();};
#endif // MAINWINDOW_H//.c#include "mainwindow.h"
#include <QDesktopServices>//引入桌面服务
#include <QUrl>//引入URLMainWindow::MainWindow(QWidget *parent): QMainWindow(parent)
{//3.setGeometry()改变窗口的大小(pos()size())this->setGeometry(300,150,500,300);this->setStyleSheet("QMainWindow {background-color:rgba(255,0,0,100%);}");//实例化clb =  new QCommandLinkButton("testclb","clicked testclb",this);clb->setGeometry(50,100,250,60);//连接槽函数connect(clb,SIGNAL(clicked()),this,SLOT(clbClicked()));
}MainWindow::~MainWindow()
{
}void MainWindow::clbClicked()
{//调用系统服务打开操作//https://www.sina.com.cn///QDesktopServices::openUrl(QUrl("www.baidu.com"));QDesktopServices::openUrl(QUrl("https://www.sina.com.cn/"));}

六 Dialog Button Box(按钮盒)

#ifndef MAINWINDOW_H
#define MAINWINDOW_H#include <QMainWindow>
//QDialogButtonBox类主要用于在对话框中管理和布局标准按钮。
#include <QDialogButtonBox>
#include <QPushButton>class MainWindow : public QMainWindow
{Q_OBJECTpublic:MainWindow(QWidget *parent = nullptr);~MainWindow();
private://声明两个对象QDialogButtonBox *dbb;QPushButton *pb;
private slots://声明槽函数void dbbpbClicked(QAbstractButton *);};
#endif // MAINWINDOW_H//.c#include "mainwindow.h"
#include <QDebug>
MainWindow::MainWindow(QWidget *parent): QMainWindow(parent)
{//3.setGeometry()改变窗口的大小(pos()size())this->setGeometry(0,0,800,600);dbb = new QDialogButtonBox(this);dbb->setGeometry(300,200,200,30);//函数的作用是在对话框中添加一个取消按钮//取消按钮通常用于关闭或取消对话框,并返回到上一级界面//在调用该函数后,当用户点击取消按钮时,对话框将被关闭,//并且可以执行一些自定义的操作,例如清除输入框中的文本、重置表单等dbb->addButton(QDialogButtonBox::Cancel);dbb->button(QDialogButtonBox::Cancel)->setText("取 消");pb = new QPushButton("自定义");//将pb添加到dbb并且设定ButtonRole为ActionRole/*具体来说,该函数将一个按钮(pb)添加到QDialogButtonBox对象(dbb)中,* 并指定其角色为ActionRole。ActionRole通常用于表示对话框中的操作按钮,* 例如“确定”、“取消”等。这些按钮通常用于执行一些特定的操作,如保存数据、关闭对话框等。*/dbb->addButton(pb,QDialogButtonBox::ActionRole);//连接信号槽connect(dbb,SIGNAL(clicked(QAbstractButton*)),this,SLOT(dbbpbClicked(QAbstractButton*)));}
MainWindow::~MainWindow()
{}void MainWindow::dbbpbClicked(QAbstractButton *bt)
{if(bt ==dbb->button(QDialogButtonBox::Cancel)){qDebug()<<"你已经点击【取消】按钮";}else if(bt == pb){qDebug()<<"你已经点击【自定义】按钮";}
}

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

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

相关文章

如何评估大型语言模型(LLM)?

01 简介 Introduction 随着ChatGPT和其他大型语言模型&#xff08;LLMs&#xff09;的发布&#xff0c;可用模型数量大量增加&#xff0c;现在几乎每天都有新的LLMs发布。尽管如此&#xff0c;当下仍然没有一个通用的标准来评估这些大型语言模型的质量。本文将回顾现有的大型语…

振弦式表面式应变计有哪些功能优势

振弦式表面应变计是一种高精度的测量工具&#xff0c;专门用于测量材料表面的应变和位移。它通过监测材料表面的微小变化&#xff0c;帮助工程师获得关键的结构性能数据。振弦式表面应变计因其独特的功能优势&#xff0c;在众多领域尤其是在结构健康监测中&#xff0c;发挥着不…

卡尔曼滤波状态估计

clear all; close all; clc; %% 上面是调用卡尔曼滤波 % 定义状态维数和初始条件 n 3; % 状态维数 q 0.2; % 过程噪声标准差 r 0.15; % 测量噪声标准差 Q q * eye(n); …

Oracle如何收缩减小表空间大小

比如我们发现一个表空间占用比较大&#xff0c;但是空闲空间很大&#xff0c;想要减小表空间占用大小。查看表空间的情况 发现BETEST表空间占用大&#xff0c;但是剩余大小比较大&#xff0c;可以减小存储占用。 如果我们想减小到100MB&#xff0c;那么就登录其用户执行&#…

UDP怎么端口映射?

在网络通信中&#xff0c;TCP和UDP是两种常用的传输协议。UDP&#xff08;User Datagram Protocol&#xff09;是一种无连接的传输协议&#xff0c;相较于TCP协议来说&#xff0c;它更为轻量级且不可靠。UDP协议在某些场景下仍然有其独特的优势&#xff0c;尤其是在需要快速传输…

[每周一更]-(第96期):Rsync 用法教程:高效同步文件与目录

文章目录 一、引言二、rsync 基本概念三、介绍rsync 是什么&#xff1f;四、安装五、rsync 基本语法常见示例&#xff08;默认ssh协议&#xff09;&#xff1a; 六、常用选项1. -a 或 --archive2. -v 或 --verbose3. -z 或 --compress4. --delete5. --exclude6. --exclude-from…

hadoop yarm你知道吗?

一、概念 Hadoop YARN&#xff08;Yet Another Resource Negotiator&#xff09;是Hadoop 2.x版本中的一个重要组件&#xff0c;用于资源管理和作业调度。它是Hadoop的第二代资源管理器&#xff0c;取代了Hadoop 1.x版本中的MapReduce作业调度器。 通俗地理解它的作用有点像一…

如何通过外网访问内网服务器?

随着网络的普及和各行各业对互联网的应用需求增加&#xff0c;通过外网访问内网服务器的需求也越来越多。在传统的网络环境下&#xff0c;要实现外网访问内网服务器需要进行繁琐的端口映射设置&#xff0c;而且还会受到网络环境限制和数据安全问题的困扰。现在有了一种名为【天…

Springboot整合 Spring Cloud Alibaba Sentinel

1.Sentinel介绍 官方文档地址&#xff1a; https://sentinelguard.io/zh-cn/docs/introduction.html https://github.com/alibaba/Sentinel/wiki/%E5%A6%82%E4%BD%95%E4%BD%BF%E7%94%A8Sentinel 是面向分布式、多语言异构化服务架构的流量治理组件&#xff0c;主要以流量为切入…

定制聚四氟乙烯大圆桶50L

PTFE聚四氟乙烯圆桶是高性能化学实验器皿&#xff0c;适用于强酸强碱环境。具有化学稳定性、耐高温、良好密封、易清洗、环保安全等特点。 常规四氟桶-超大规格四氟桶均可定制&#xff0c;一体成型&#xff0c;保证密封&#xff0c;可长期保存高纯试剂。 产品特性 1.超纯实验…

Elastic 基于 RAG 的 AI 助手:利用 LLM 和私有 GitHub 问题分析应用程序问题

作者&#xff1a;来自 Elastic Bahubali Shetti 作为 SRE&#xff0c;分析应用程序比以往更加复杂。 你不仅必须确保应用程序以最佳状态运行以确保良好的客户体验&#xff0c;而且还必须了解某些情况下的内部工作原理以帮助排除故障。 分析基于生产的服务中的问题是一项团队运动…

回炉重造java----多线程

概念 注&#xff1a; main方法其实也是一个线程。在java中所以的线程都是同时启动的&#xff0c;至于什么时候&#xff0c;哪个先执行&#xff0c;完全看谁先得到CPU的资源。在java中&#xff0c;每次程序运行至少启动2个线程。一个是main线程&#xff0c;一个是垃圾收集(gc )线…

【Ubuntu】apt命令安装最新版本Nginx

目录 环境前言添加Nginx仓库步骤1、仓库公钥2、文本公钥转二进制GPG公钥&#xff08;可选&#xff09;3、添加apt软件源4、安装新版Nginx 参阅 环境 Ubuntu 22.04 前言 ubuntu官方apt软件仓库&#xff08;或者叫软件源&#xff09;的软件版本可能会比较旧&#xff0c;导致无…

AI算法-高数5-线性代数1-基本概念、向量

线性代数&#xff1a;主要研究1、张量>CV计算机视觉 2、研究张量的线性关系。 深度学习的表现之所以能够超过传统的机器学习算法离不开神经网络&#xff0c;然而神经网络最基本的数据结构就是向量和矩阵&#xff0c;神经网络的输入是向量&#xff0c;然后通过每个矩阵对向量…

使用 Flask Blueprint 实现模块化 Web 应用

文章目录 1. 什么是 Flask Blueprint&#xff1f;2. 为什么要使用 Flask Blueprint&#xff1f;3. 如何使用 Flask Blueprint&#xff1f;4. 在 Blueprint 之间进行通信5. 结合 Flask 插件系统进行功能拓展结语 当构建大型 Flask Web 应用时&#xff0c;保持代码的组织结构清晰…

遨游 JavaScript 对象星际:探索面向对象编程的深邃世界

个人主页&#xff1a;学习前端的小z 个人专栏&#xff1a;JavaScript 精粹 本专栏旨在分享记录每日学习的前端知识和学习笔记的归纳总结&#xff0c;欢迎大家在评论区交流讨论&#xff01; 文章目录 &#x1f4af;面向对象编程&#x1f517;1 什么是对象&#x1f517;2 什么是…

免费SSL证书申请安装通用指南

JoySSL官网 注册码230918 关于SSL证书的申请与安装&#xff0c;以下是一个概括性的技术性指南&#xff0c;适合那些希望详细了解该过程的技术人员或网站管理员。请注意&#xff0c;具体步骤可能会根据证书颁发机构(CA)和服务提供商的不同而有所变化。 一、选择SSL证书类型与颁…

Postman工具介绍与安装

一、Postman介绍 Postman 乃是一款对 HTTP 协议予以支持的接口调试及测试工具&#xff0c;其突出特性在于功能强大&#xff0c;并且使用简便、易用性良好。不管是开发人员开展接口调试工作&#xff0c;还是测试人员进行接口测试任务&#xff0c;Postman 均属于首选工具之一。 接…

使用Python递归重命名文件和文件夹

使用 Python 递归重命名文件和文件夹可以通过 os 模块和 os.path 模块来完成。下面是一个示例代码&#xff0c;演示如何递归地重命名文件和文件夹&#xff1a; 1、问题背景 在研究大型数字档案时&#xff0c;需要将这些档案复制到本地存储进行保存。这些档案通常存储在 USB 驱…

吴恩达机器学习笔记:第 10 周-17大规模机器学习(Large Scale Machine Learning)17.3-17.4

目录 第 10 周 17、 大规模机器学习(Large Scale Machine Learning)17.3 小批量梯度下降17.4 随机梯度下降收敛 第 10 周 17、 大规模机器学习(Large Scale Machine Learning) 17.3 小批量梯度下降 小批量梯度下降算法是介于批量梯度下降算法和随机梯度下降算法之间的算法&am…