C++ qt实现打开关闭状态按钮的代码

效果图:

上述这种按钮,用QCheckBox可以实现,只要在选择与未选择的状态设置不同的图片即可:
选择

未选择

实现代码

#include "widget.h"
#include "ui_widget.h"
#include <QMessageBox>
Widget::Widget(QWidget *parent)
    : QWidget(parent)
    , ui(new Ui::Widget)
{
    ui->setupUi(this);
    ui->checkBox->setText("");
    ui->checkBox->setFixedSize(128, 64);
    QString qss = "QCheckBox::indicator:unchecked{ \
    image:url(:/resources/status_close.png); \
    } \
    QCheckBox::indicator:checked { \
    image: url(:/resources/status_open.png); \
    }";
    ui->checkBox->setStyleSheet(qss);
    ui->checkBox->setChecked(true);
    connect(ui->checkBox, &QCheckBox::stateChanged, this, &Widget::slot_stateChanged);
}
Widget::~Widget()
{
    delete ui;
}
void Widget::slot_stateChanged(int state)
{
    if(ui->checkBox->isChecked())
    {
        //QMessageBox::information(this, "tips", "open");
    }
    else
    {
        //QMessageBox::information(this, "tips", "close");
    }
}

在qss里设置QCheckBox::indicator:unchecked与QCheckBox::indicator:checked两种转态下不同的背景图,当选择状态发生变化时,链接信号stateChanged即可。

到此这篇关于C++ qt实现打开关闭状态按钮的文章就介绍到这了,更多相关C++ qt状态按钮内容请搜索我们以前的文章或继续浏览下面的相关文章希望大家以后多多支持我们!

(0)

相关推荐

  • C++ 动态创建按钮及 按钮的消息响应

    动态创建的按钮 都会在消息 OnCommand 中得到处理,无论是什么消息,都会处理的 1\创建按钮 复制代码 代码如下: CButton* btn = new CButton();     btn->Create(_T("方法"), WS_CHILD | WS_VISIBLE, CRect(0,0,50,50), this, 2); 注意创建的最后一个参数 这个数据代表的就是创建的那个控件的ID值,相当于 这个数据是代表控件的唯一的重要标志 BOOL CMyCusCrl::On

  • C++ Qt绘制时钟界面

    首先来看一下效果: 大概就是这样子,需要注意的是,这里你需要创建一个基类为Widget的界面来绘制时钟,以至于后期你想把这个时钟放到任意一个界面,你只需要在那个界面的ui里面添加一个widget,然后将它提升为这个时钟界面,并设定它的大小. widget.h文件 #ifndef WIDGET_H #define WIDGET_H #include<math.h> #include<QResizeEvent> #include<QGroupBox> #include<

  • C++ qt实现打开关闭状态按钮的代码

    效果图: 上述这种按钮,用QCheckBox可以实现,只要在选择与未选择的状态设置不同的图片即可:选择 未选择 实现代码 #include "widget.h" #include "ui_widget.h" #include <QMessageBox> Widget::Widget(QWidget *parent) : QWidget(parent) , ui(new Ui::Widget) { ui->setupUi(this); ui->

  • Qt自绘实现苹果按钮滑动效果的示例代码

    用到的类:QTimer,QPaintEvent,QPainter,QRectF 首先,重写绘制事件,需要在头文件加入QPaintEvent头文件,并定义几个变量. bool ison=false; float currentValue; float widthSize,heightSize; 然后加入如下代码: 思路就是鼠标点击,触发paintEvent函数 void MainWindow::mousePressEvent(QMouseEvent *event){ Q_UNUSED(event)

  • Android中ToggleButton开关状态按钮控件使用方法详解

    ToggleButton开关状态按钮控件使用方法,具体内容如下 一.简介 1. 2.ToggleButton类结构 父类是CompoundButton,引包的时候注意下 二.ToggleButton开关状态按钮控件使用方法 1.新建ToggleButton控件及对象 private ToggleButton toggleButton1; toggleButton1=(ToggleButton) findViewById(R.id.toggleButton1); 2.设置setOnCheckedC

  • Android程序打开和对输入法的操作(打开/关闭)

    今天整理了一下Android下对输入法的操作:具体如下 一.打开输入法窗口: 复制代码 代码如下: InputMethodManager inputMethodManager = (InputMethodManager) getSystemService(Context.INPUT_METHOD_SERVICE); // 接受软键盘输入的编辑文本或其它视图 imm.showSoftInput(submitBt,InputMethodManager.SHOW_FORCED); 二.关闭出入法窗口

  • vue如何点击多个tab标签打开关闭多个页面

    目录 点击多个tab标签打开关闭多个页面 需求 效果图 说一下思路 vue tab页多页面切换 点击多个tab标签打开关闭多个页面 需求 现将页面分为Header LeftSideBar Main三大模块 左侧LeftSideBar为menu菜单,点击菜单每一项,在Main中出现上部为tag标签,下部为内容 可打开多个tag标签 ,可内容切换 ,可关闭 效果图 1.router.js中(在LeftSideBar组件中现在有两个菜单项icons和tabs) { path:'/addtab', re

  • cmd批量打开网页和关闭网页的批处理代码

    如果浏览器的安装路径中有空格,可以用" "代替,如下: C:\Program Files\Mozilla Firefox\firefox.exe 可以替换为C:\Program" "Files\Mozilla" "Firefox\firefox.exe 1.用IE浏览器打开网页的批处理代码:start c:\progra~1\Intern~1\iexplore.exe 网址 例子: @echo off title 打开网页 start c:\pr

  • C#中通过使用Connection类来实现打开/关闭数据库的代码实例

    为了访问数据库,就要提供数据库连接类,在C#中,是通过Connection类来实现的 四种类型的连接方式 SQLConnection ADOConnection OractleConnection ODBCConnection 以SQLConnection方式实现数据库的连接: SQL Server数据库 windows 身份信息验证 步骤: 引用命名空间 using System.Data.SqlClient; 将连接方法声明值字符串中 创建Connection对象 调用方法 为了节省系统资源

  • layer扩展打开/关闭动画的方法

    1. 打开窗口时,支持自定义或者第三方动画 打开layer.js,定位到函数:Class.pt.creat , 找到代码: //为兼容jQuery3.0的css动画影响元素尺寸计算 if (doms.anim[config.anim]) { var animClass = 'layer-anim ' + doms.anim[config.anim]; that.layero.addClass(animClass).one('webkitAnimationEnd mozAnimationEnd M

  • C语言中system()执行cmd命令打开关闭程序的方法

    函数原型: int system(char *command); 使用该函数需要添加<stdlib.h>头文件 1.打开程序 系统自带程序可直接使用start命令 system("start iexplore.exe"); //启动ie 非系统自带程序需要加入路径 system("start D:\Tencent\WeChat\WeChat.exe"); //启动改路径下的客户端 注意如果路径中有空格,需要对整个路径添加双引号 2.关闭程序 system

  • PHP文件打开关闭及读写操作示例解析

    前言 PHP支持文件上传功能,因此学习PHP文件的相关操作是必须的,这篇笔记会去记录PHP文件系统的相关知识. 文件打开与关闭 文件处理包括读取.关闭.重写等,例如,访问一个文件需要3步:打开文件.读写文件和关闭文件.其他的操作要么是包含在读写文件中(如显示内容.写入内容等),要么与文件自身的属性有关系(如文件遍历.文件改名等). 1.打开文件 在PHP中使用fopen()函数打开文件,fopen()函数的语法如下: resource fopen ( string filename, strin

随机推荐