QT不规则形状的按钮的实现

这篇具有很好参考价值的文章主要介绍了QT不规则形状的按钮的实现。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

Qt实现按钮的不规则样式设置,不是视觉欺骗,是真正的不规则按钮,点击按钮外面不会触发按钮的点击信号

使用如下的代码可以实现特殊形状的按钮,但是按钮还是矩形的,如果按在不规则图形的外面,但是是按钮的矩形的区域仍然可以触发按钮。

ui->pushButton_2->setStyleSheet("QPushButton{"
                                    "border-image:url(:/image/pms3.png)}"
                                    "QPushButton:pressed{"
                                    "border-image:url(:/image/pms3Clicked.png)}"
                                    "QPushButton:checked{"
                                    "border-image:url(:/image/pms3Checked.png)}"
                                    "QPushButton:checked:hover{"
                                    "border-image:url(:/image/pms3hover.png)}"
                                    "QPushButton:hover{"
                                    "border-image:url(:/image/pms3hover.png)}"
                                    );

使用如下代码可以实现特殊的按钮,该按钮将会根据图片的形状实现不规则形状。但是按钮的形状不能发生改变。

    QPixmap pix;
    pix.load(":/image/pms3.png");
    ui->pushButton_2->setFixedSize(pix.size());
    ui->pushButton_2->setMask(pix.mask());
    ui->pushButton_2->setStyleSheet("background-image: url(:/image/pms3.png)");

 如果按照下面的代码顺序,把两段代码结合起来,就可以避免上面两种方式的缺点,兼具两种有点:不规则形状的按钮就是不规则的图像的区域,按钮点击会有图样的变化,

    QPixmap pix;
    pix.load(":/image/pms3.png");
    ui->pushButton_2->setFixedSize(pix.size());
    ui->pushButton_2->setMask(pix.mask());
    ui->pushButton_2->setStyleSheet("background-image: url(:/image/pms.png)");


    ui->pushButton_2->setStyleSheet("QPushButton{"
                                    "border-image:url(:/image/pms3.png)}"
                                    "QPushButton:pressed{"
                                    "border-image:url(:/image/pms3Clicked.png)}"
                                    "QPushButton:checked{"
                                    "border-image:url(:/image/pms3Checked.png)}"
                                    "QPushButton:checked:hover{"
                                    "border-image:url(:/image/pms3hover.png)}"
                                    "QPushButton:hover{"
                                    "border-image:url(:/image/pms3hover.png)}"
                                    );

如下文章也是很好的参考资料:

Qt简述如何实现不规则按钮_前行之路还需前行-CSDN博客_qt 异形按钮一、简述我们在设计界面时通常会使用QPushButton或QToolButton,这是两种非常常用的按钮类,用这两种按钮可以满足我们日常的使用。这两种按钮都继承于 QAbstractButton,因为功能的不同,分成了QPushButton和QToolButton,那么这两种按钮具体怎么使用,可以参考Qt助手,本文重点不在于此。现在我们先不谈按钮的功能,就按钮的外观,样式,形状等进行讨https://blog.csdn.net/goforwardtostep/article/details/79102012Qt实现不规则按钮_figo_lyf001的博客-CSDN博客_qt 不规则按钮公司有需求让我做一个能控制xyz轴的控制面板,同事不知如何做一个好看的不规则按钮,这里教大家一个简便的方法。先来看看这个button是不是你要的style:1.用ps制作以上按钮,并且上三种颜色,分别是常态,hover,和按下去的状态,由于色差不大,这里看上去差不多,看看我做的。大小150*150。2.然后设置css样式表,让鼠标移上去有反应,按下也有反应,css样式不说了,网...https://blog.csdn.net/figo_lyf001/article/details/89407059

qt 自定义不规则窗体与按钮_亦轩的专栏-CSDN博客_qt不规则按钮设置不规则的窗体,主要使用 QRegion 类定义可见区域,并通过setMask 函数实现,如下为qt 自带的实例搜索Shaped Clock Example 即可找到。ShapedClock::ShapedClock(QWidget *parent) : QWidget(parent, Qt::FramelessWindowHint | Qt::Win...https://blog.csdn.net/wang112031/article/details/103281873自学QT之不规则窗口和不规则按钮(亲测)_CN小黑-CSDN博客_qt不规则窗体看到很多软件,尤其是游戏软件,有一些炫酷的界面,一直在想,他们究竟是怎么做到的呢?那明明是一张图片啊。天下有我大QT做不到的事情吗?当然没有!现在开始:请准备一张带有透明区域的png图片哦。首先来看自定义不规则窗口的代码吧:Widget::Widget(QWidget *parent) : QWidget(parent){ this->setWindowFlahttps://blog.csdn.net/xuancailinggan/article/details/50563619

 文章来源地址https://www.toymoban.com/news/detail-406797.html

到了这里,关于QT不规则形状的按钮的实现的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 浅谈OpenCV的多对象匹配图像的实现,以及如何匹配半透明控件,不规则图像

    OpenCV提供的templateMatch只负责将(相关性等)计算出来,并不会直接提供目标的对应坐标,一般来说我们直接遍历最高的相关度,就可以得到匹配度最高的坐标。但是这样一般只能得到一个坐标。 在实际操作中,我们可能需要匹配一个不规则的图像,把这个不规则的图像放进

    2024年02月10日
    浏览(52)
  • css不规则圆角矩形

    这个收集的css 效果是真的多 https://github.com/chokcoco/iCSS强烈推荐

    2024年02月20日
    浏览(41)
  • 不规则文件转JSON

    有时候,我们取出来的数据并不是一个规则的JSON文件,这个时候面对存库还是ES检索都是一个问题,所以我们就需要进行解析,然而用字符串分割是不现实的,我们需要一种快速的方法。 为了读取并转换这样的文件为JSON对象,您可以使用Jackson库。首先,您需要引入Jackson库的

    2024年02月14日
    浏览(42)
  • Elasticsearch不规则多边形区域查询

    定义ES连接类 其中self.es = Elasticsearch(hosts=self.host.split(‘,’), port=self.port)中,hosts参数接收的是一个字符串列表,例如[‘192.168.16.96’,‘192.168.16.97’,‘192.168.16.98’]等,端口是9200 创建一个带有geo_shape字段类型的索引。(仅执行一次) 插入一条数据以后 可以利用 来检查location字

    2024年02月12日
    浏览(49)
  • ospf不规则区域划分和数据库表

    图示 图示 在一台运行ospf的路由器上如果存在多个ospf进程时,如果不进行多进程双向重发布的话,不同进程中宣告的路由是不会进行共享的。 在合法ABR与与非合法ABR之间建立tunnel隧道,然后将tunnel隧道宣告于ospf协议中 缺点: 1.周期更新和触发更新信息对中间穿越区域造成资

    2024年02月11日
    浏览(44)
  • 折线的可视化及不规则柱体的绘制

    开发环境: Windows 11 家庭中文版 Microsoft Visual Studio Community 2019 VTK-9.3.0.rc0 vtk-example demo解决问题 : 1.绘制一条多段线(折现),并可视化这段折现;2.根据折现绘制一个不规则柱体 关键点 : vtkRotationalExtrusionFilter是Visualization Toolkit(VTK)中的一个过滤器,用于沿着输入曲线生成

    2024年01月25日
    浏览(44)
  • AD软件绘制不规则焊盘的器件封装

           网上有很多关于AD软件绘制不规则焊盘的帖子,搜了一些帖子看了一下,感觉不太对。严格意义上AD软件是不能绘制不规则的焊盘的,至少目前用的AD软件不支持。为什么这么说呢?    我提一个需求:假如我在PCB文件中需要随意的添加一个边长1mm的正三角形的焊盘。

    2023年04月08日
    浏览(46)
  • c# opencv 根据颜色得到不规则区域中的point

    其中,用到了opencv的函数: 1.  Cv2.CvtColor    颜色转换函数,将RGB颜色向HSV,HSI等颜色空间转换。本段代码是转成HSV 2.  Cv2.InRange    用于选出指定颜色范围的区域。如果满足指定的范围,则这个像素点的值被置为255(白色),否则值被置为0(黑色)。本段代码的颜色区间是

    2024年02月12日
    浏览(36)
  • Open3D 不规则点云体积计算 (15)

    黑暗笼罩万物,我将是黑暗中最后的那道曙光,以雷霆,击碎黑暗!!! 点云往往是不规则的,利用别的包围盒方法获取的体积可能不太准确,如果希望获取更准确的体积,这里介绍一种基于体素划分的体积计算方法,随着体素分辨率设置的尺寸减小,其计算的体积准确率越

    2024年02月02日
    浏览(44)
  • c++多线程按行读取同一个每行长度不规则文件

    对于非常大的比如上百G的大文件读取,单线程读是非常非常慢的,需要考虑用多线程读,多个线程读同一个文件时不用加锁的,每个线程打开一个独立的文件句柄 先打开一个文件句柄,获取整个文件大小 file_size 确定要采用线程读取的部分大小 read_size 和多线程的个数 thread_num ,算出

    2024年03月09日
    浏览(48)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包