首页 > 其他分享 >qt按钮切换互斥功能

qt按钮切换互斥功能

时间:2023-06-09 14:44:13浏览次数:40  
标签:qt data image skin 互斥 按钮 font btnMap

有这样一种功能:一组按钮,点击其中一个,该按钮被选中,其他按钮取消选中。

 

 我这里简单说一下方法。

创建一个继承自QFrame的窗口类,在上面放几个按钮,按钮属性设置如下:

然后设置按钮的qss,下面是其中一个的按钮(其他按钮类似):data文件夹和exe所在的文件夹在同一目录,下面有几个图片

 1 QPushButton#btnMap
 2 {
 3     font-size:28px;
 4     font-family:Microsoft YaHei;
 5     font-weight:400;
 6     color:rgba(205,242,255,1);
 7     border-image:url(../data/skin/image/ui/bg_btn_top_normal.png);
 8 }
 9 QPushButton#btnMap:hover
10 {
11     border-image:url(../data/skin/image/ui/bg_btn_top_hover.png);
12     font-family:Microsoft YaHei;
13 }
14 QPushButton#btnMap:pressed, QPushButton#btnMap:checked
15 {
16     border-image:url(../data/skin/image/ui/bg_btn_top_pressed.png);
17     font-family:Microsoft YaHei;
18 }

加载qss代码:

void AppHelper::LoadStyleSheet(QWidget *dlg, const QString &strQssName)
{
    QString strPath = m_strExePath + "../data/skin/qss/" + strQssName;

    QFile file(strPath);
    if (file.open(QFile::ReadOnly))
    {
        dlg->setStyleSheet(file.readAll());
    }
    else
    {
        qDebug() << "load qss failed!" << strPath;
    }
    file.close();
}

 

我们初始化其中一个按钮选中:

ui->btnMap->setChecked(true);

 按钮图片:

 

标签:qt,data,image,skin,互斥,按钮,font,btnMap
From: https://www.cnblogs.com/warmlight/p/17469177.html

相关文章

  • cv2 undefined symbol: g_date_copy (or qt.qpa.plugin: Could not load..)解决
    cv2undefinedsymbol:g_date_copyorqt.qpa.plugin:Couldnotload问题背景:这次就是想用Qt5在Ubuntu上做一个GUI,结果一运行就报这个:QObject::moveToThread:Currentthread(0x7fc0f7435300)isnottheobject’sthread(0x7fc0f9f02cc0).Cannotmovetotargetthread(0x7......
  • Qt+QtWebApp开发笔记(五):http服务器html中使用json触发ajax与后台交互实现数据更新传递
    前言  前面完成了页面的跳转、登录,很多时候不刷新页面就想刷新局部数据,此时ajax就是此种技术,且是异步的。  本篇实现网页内部使用js调用ajax实现异步交互数据。  在js中使用ajax是通过XMLHttpRequest来实现的。下载地址  链接:https://pan.baidu.com/s/1tJMTPhIIyVE40......
  • QT桌面(实现界面的滑动切换)
    (文章目录)前言在ARMLinux中使用QT如何实现滑动翻页切换界面的效果呢?在ARM中是没有自带的鼠标的,那么我们如何实现滑动翻页呢?经过测试发现在ARM中运行QT程序也是可以通过重写鼠标事件来捕获触屏动作的,在ARM中滑动屏幕被定义成了鼠标左键事件,那么这样就有思路了,重写鼠标事件。一......
  • QT圆形进度条(桌面项目光照强度检测)
    (文章目录)前言本篇文章我们讲解QT实现圆形进度条,并实现动态的效果。一、编程思路实现QT圆形进度条其实是非常简单的,思路就是画两个圆弧。这里大家就会觉得很奇怪了为什么画两个圆弧就能实现圆形进度条了呢?那么下面我们一个个圆弧来画看看效果。代码:painter.translate(......
  • QT中的动画类(QPropertyAnimation)
    (文章目录)前言QPropertyAnimation是QT中的一个动画类,用于对目标对象的属性进行动画效果展示。该类继承自QAbstractAnimation类,使用起来非常方便和灵活。一、QPropertyAnimation类介绍QPropertyAnimation可以对任何QObject的子类的属性进行动画的展示,只要该属性是可写的,即存在......
  • QT Error
    环境:QT6.5,VS2022,QTVisualStudioTool2.10.11.QTCustomDesignerWidget无法显示到WidgetBox中的解决方案:QDESIGNER_WIDGET_EXPORT需要将生成的dll和lib放置到目录D:\Qt\6.5.1\msvc2019_64\plugins\designer下,重启QT即可。#include<QtWidgets/QWidget>#incl......
  • Qt MDI及其使用方法(详解版)
    统的应用程序设计中有多文档界面(Multi-documentInterface,MDI)应用程序,Qt为设计MDI应用程序提供了支持。本节的实例samp6_4是一个MDI应用程序,程序运行效果如图1所示。 图1MDI应用程序实例samp6_4的运行时界面MDI应用程序就是在主窗口里创建多个同类型的MDI子窗口......
  • Qt元对象和属性系统详解
    Qt是一个用标准C++编写的跨平台开发类库,它对标准C++进行了扩展,引入了元对象系统、信号与槽、属性等特性,使应用程序的开发变得更高效。本节将介绍Qt的这些核心特点,对于理解和编写高效的QtC++程序是大有帮助的。 Qt的元对象系统Qt的元对象系统(Meta-ObjectSystem)提供......
  • Linux下Qt创建共享库与链接共享库详解
    随着程序写的逐渐变多,或多或少的我们都会使用别人写好的库;或者我们不想让别人看到我们的一些核心程序,可以将核心程序封装成库。本次和大家分享的是在Ubuntu下使用Qt生成共享库以及在Qt中链接共享库的方法。 共享库是在Linux下的称呼,在Windows下被称为动态库。这块大家需要了解的是......
  • qt work
    autofolder1="./.mm";QDir*folder=newQDir;boolexist=folder->exists(folder1);if(exist){QMessageBox::warning(this,tr("createDir"),tr("Dirisalreadyexisted!"));}......