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.rhkb.cn/news/325930.html

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

相关文章

基于YOLOV8复杂场景下船舶目标检测系统

1. 背景 海洋作为地球上70%的表面积&#xff0c;承载着人类生活、经济发展和生态系统的重要功能。船舶作为海洋活动的主要载体之一&#xff0c;在海上运输、资源开发、环境监测等方面发挥着重要作用。复杂海洋环境下的船舶目标检测成为了海事管理、海洋资源开发和环境保护等领…

C# winform 以modbus TCP方式读取数据

C# winform 以modbus TCP方式读取数据 一、modbus开发 //nmodbus4读取到的数据都是ushort类型TcpClient tcpClient new TcpClient();tcpClient.Connect("127.0.0.1", 502);//连接到主机ModbusIpMaster master ModbusIpMaster.CreateIp(tcpClient);//Ip 主站 byte …

【图解计算机网络】TCP 重传、滑动窗口、流量控制、拥塞控制

TCP 重传、滑动窗口、流量控制、拥塞控制 TCP 重传超时重传快速重传 滑动窗口流量控制拥塞控制慢启动拥塞避免拥塞发生快速恢复 TCP 重传 TCP重传是当发送的报文发生丢失的时候&#xff0c;重新发送丢失报文的一种机制&#xff0c;它是保证TCP协议可靠性的一种机制。 TCP重传…

Redis集群安装

将Redis安装包分别上传到3个文件夹&#xff0c;并解压缩 #编译并指定安装目录 cd /root/usr/local/redis-cluster/redis-7001/redis-6.2.6/ make make PREFIX/root/usr/local/redis-cluster/redis-7001 install # cd /root/usr/local/redis-cluster/redis-7002/redis-6.2.6/ m…

FANUC机器人初始化系统的基本方法和步骤

FANUC机器人初始化系统的基本方法和步骤 首先,在做系统初始化之前,必须做好系统的备份,这里做个镜像备份,更详细的镜像备份步骤可参考以下链接中的内容: FANUC机器人进行全部备份和镜像备份以及加载备份文件的具体操作(图文) 如下图所示,在示教器右边的USB接口上插个…

数据结构(一)绪论

2024年5月11日 一稿 数据元素+数据项 逻辑结构 集合 线性结构 树形结构 图结构

没有公网ip,如何实现外网访问内网?

目前拨号上网是最广泛的上网方式&#xff0c;这种方式优点是价格便宜&#xff0c;缺点是没有固定公网ip&#xff0c;每次重新您拨号ip地址都会变。如果有一台服务器&#xff0c;需要实现外网访问&#xff0c;在没有固定公网ip的环境下&#xff0c;该如何实现呢&#xff1f;使用…

认识卷积神经网络

我们现在开始了解卷积神经网络&#xff0c;卷积神经网络是深度学习在计算机视觉领域的突破性成果&#xff0c;在计算机视觉领域&#xff0c;往往我们输入的图像都很大&#xff0c;使用全连接网络的话&#xff0c;计算的代价较高&#xff0c;图像也很难保留原有的特征&#xff0…

如何在windows server下安装mysql5.7数据库,并使用Navicat Premium 15可视化工具新建数据库并读取数据库信息。

如何在windows server下安装mysql5.7数据库&#xff1f; MySQL :: Download MySQL Community Server (Archived Versions)https://downloads.mysql.com/archives/community/点击↑&#xff0c;然后选择对应版本和平台↓下载 将下载后的安装包放入固定目录&#xff08;这里以D:…

最大子矩阵:前缀和、动态规划

最近在学习动态规划&#xff0c;在牛客上刷题时碰到了这一题。其实最初的想法是暴力和前缀和&#xff0c;但是时间复杂度极高&#xff0c;需要套4层循环。后来去网上搜了一下相关的题解和做法&#xff0c;进而了解到了前缀和&#xff0b;线性动态规划的做法。但是在成功做出这题…

带头单链表 C++实现

节点定义 带头单链表&#xff1a;我们只需要一个结点指针指向整个链表的第一个节点&#xff0c;这样我们就可以通过next指针访问整个链表内的所有节点 template<class T> struct ListNode {T _val;ListNode* _next;ListNode(const T &val):_val(val),_next(nullptr){…

开发组合php+mysql 人才招聘小程序源码搭建 招聘平台系统源码+详细图文搭建部署教程

随着互联网的快速发展&#xff0c;传统的招聘方式已经不能满足企业和求职者的需求。为了提高招聘效率&#xff0c;降低招聘成本&#xff0c;越来越多的人开始关注人才招聘小程序、在线招聘平台。分享一个人才招聘小程序源码及搭建&#xff0c;让招聘更加高效便捷。系统是运营级…

【算法】滑动窗口——串联所有单词的子串

今天来以“滑动窗口”的思想来详解一道比较困难的题目——串联所有单词的子串&#xff0c;有需要借鉴即可。 目录 1.题目2.下面是示例代码3.总结 1.题目 题目链接&#xff1a;LINK 这道题如果把每个字符串看成一个字母&#xff0c;就是另外一道中等难度的题目&#xff0c;即&…

2022——蓝桥杯十三届2022国赛大学B组真题

问题分析 看到这个问题的同学很容易想到用十层循环暴力计算&#xff0c;反正是道填空题&#xff0c;一直算总能算得出来的&#xff0c;还有些同学可能觉得十层循环太恐怖了&#xff0c;写成回溯更简洁一点。像下面这样 #include <bits/stdc.h> using namespace std; in…

用 Supabase CLI 进行本地开发环境搭建

文章目录 &#xff08;零&#xff09;前言&#xff08;一&#xff09;Supabase CLI&#xff08;1.1&#xff09;安装 Scoop&#xff08;1.2&#xff09;用 Scoop 安装 Supabase CLI &#xff08;二&#xff09;本地项目环境&#xff08;2.1&#xff09;初始化项目&#xff08;2…

C++ | Leetcode C++题解之第86题分隔链表

题目&#xff1a; 题解&#xff1a; class Solution { public:ListNode* partition(ListNode* head, int x) {ListNode* small new ListNode(0);ListNode* smallHead small;ListNode* large new ListNode(0);ListNode* largeHead large;while (head ! nullptr) {if (head-…

Spring STOMP-消息处理流程

一旦STOMP的接口被公布&#xff0c;Spring应用程序就成为连接客户端的STOMP代理。本节描述服务端消息处理的流程。 spring-messaging模块包含消息类应用的基础功能&#xff0c;这些功能起源于Spring Integration项目。并且&#xff0c;后来被提取整合到Spring框架&#xff0c;…

Zookeeper 注册中心:单机部署

序言 本文给大家介绍 Zookeeper 单机部署流程、 如何与 Spring 整合使用。除此之外&#xff0c;还有 Zookeeper 作为注册中心与 SpringCloud 的整合流程。 一、部署流程 官网下载 Zookeeper 安装包 解压安装包到指定目录 进入 apache-zookeeper-3.8.4-bin/conf 目录&…

目标检测——印度车辆数据集

引言 亲爱的读者们&#xff0c;您是否在寻找某个特定的数据集&#xff0c;用于研究或项目实践&#xff1f;欢迎您在评论区留言&#xff0c;或者通过公众号私信告诉我&#xff0c;您想要的数据集的类型主题。小编会竭尽全力为您寻找&#xff0c;并在找到后第一时间与您分享。 …

《C++学习笔记---初阶篇6》---string类 上

目录 1. 为什么要学习string类 1.1 C语言中的字符串 2. 标准库中的string类 2.1 string类(了解) 2.2 string类的常用接口说明 2.2.1. string类对象的常见构造 2.2.2. string类对象的容量操作 2.2.3.再次探讨reserve与resize 2.2.4.string类对象的访问及遍历操作 2.2.5…