QToolButton按钮
继承 QAbstractButton
QToolButton是与工具操作相关的按钮,通常和QToolBar搭配使用。QToolButton一般不用来显示文本,而显示图标QIcon
需要 from PyQt5.QtWidgets import QToolButton
请注意不能在QToolButton实例化的时候直接传入文本字符串,因为该控件没有相应的初始化函数。也就是说这样做是错误的:self.test_button = QToolButton('Test', self) 如果要设置文本的话得通过setText()方法。但是setText()方法和setIcon()方法都使用的话,只会显示图标
import sys
from PyQt5.QtGui import QIcon
from PyQt5.QtWidgets import QApplication, QWidget, QToolButton,QMenu,QAction
from PyQt5.QtCore import Qt class Demo(QWidget):
def __init__(self):
super(Demo, self).__init__()
self.resize(100,100)
self.button = QToolButton(self) # 实例化按钮
self.button.move(50,30)
self.button.setIcon(QIcon('大象.ico')) #设置图标,也可以是png图片
self.button.setToolTip('提示文本') #设置提示文本
self.button.setToolButtonStyle(Qt.ToolButtonFollowStyle)#设置按钮风格
#Qt.ToolButtonIconOnly 仅显示图标-默认
#Qt.ToolButtonTextOnly 仅显示文字
#Qt.ToolButtonTextBesideIcon 文本显示在图标旁边
#Qt.ToolButtonTextUnderIcon 文本显示在图标下方
#Qt.ToolButtonFollowStyle 遵循风格 #toolButtonStyle() #获取样式风格 self.button.setArrowType(Qt.UpArrow) #设置箭头
#Qt.NoArrow 无箭头
#Qt.UpArrow 向上箭头
#Qt.DownArrow 向下箭头
#Qt.LeftArrow 向左箭头
#Qt.RightArrow 向右箭头 #arrowType() 获取箭头类型 self.button.setAutoRaise(True) #设置是否自动提升-鼠标在上面时会自动凸起
#autoRaise() 返回是否自动凸起 menu=QMenu(self)
action1=QAction(menu)
action1.setText('新建')
action1.setData([1,2,3]) #给行为绑定数据
action1.triggered.connect(self.A)
menu.addAction(action1)
self.button.setMenu(menu) #给按钮设置菜单
self.button.setPopupMode(QToolButton.MenuButtonPopup) #设置菜单弹出模式
#QToolButton.DelayedPopup 鼠标按住一会才显示-默认
#QToolButton.MenuButtonPopup 有一个专门的指示箭头,点击箭头才显示
#QToolButton.InstantPopup 点了按钮就显示,点击信号不会发射 self.button.triggered.connect(self.B) #点击行为时发出这个信号
#会向槽函数传递被点击的行为 def A(self):
print('点击了新建行为')
def B(self,action):
print('点击了行为',action,action.data()) #action.data() 获取行为绑定的数据 if __name__ == '__main__':
app = QApplication(sys.argv)
demo = Demo()
demo.show()
sys.exit(app.exec_())
天子骄龙
QToolButton按钮的更多相关文章
- QT学习之如何在QToolBar中添加带图标的QToolButton并设置图标大小
在网上查到了三种方法,找到一种比较好理解的. 使用QIcon类: QToolButton *toolBtn1 = new QToolButton(this); //创建QToolButton tool ...
- 第十五篇 -- QListWidget与QToolButton(界面)
效果图: 这还只是一个界面,并没有实现相应功能. 先看下这图的构成吧. 工具栏的就是将Action拖上去,这部分前面已经介绍过了,那就看下面这部分的构图. 1.左侧是一个工具箱(ToolBox)组件, ...
- QT QToolBox类
QToolBox类的创建 //drawer.h #ifndef DRAWER_H #define DRAWER_H #include <QToolBox> #include <QTo ...
- pyqt5的使用目录
pyqt5的安装 我的第一个例子 标签控件QLabel的使用 按钮QPushButton 信号与槽 pyqt5模块介绍 pycharm活动模板 QObject 定时器 QWidget类-坐标系 ...
- [Qt Creator 快速入门] 第5章 应用程序主窗口
对于日常见到的应用程序而言,许多都是基于主窗口的,主窗口中包含了菜单栏.工具栏.状态栏和中心区域等.这一章会详细介绍主窗口的每一个部分,还会涉及资源管理.富文本处理.拖放操作和文档打印等相关内容.重点 ...
- Qt Style Sheet实践(一):按钮及关联菜单
导读 正如web前端开发中CSS(Cascade Style Sheet)的作用一样,Qt开发中也可以使用修改版的QSS将逻辑业务和用户界面进行隔离.这样,美工设计人员和逻辑实现者可以各司其职而不受干 ...
- 自定义QToolButton
最近做界面需要添加很多工具栏按钮,所以自己定义了一个Button 直接上代码 SettingButton.cpp//设置Button的一些参数 #include "SettingButton ...
- Qt Style Sheet实践(一):按钮及关联菜单(24K纯开源,一共四篇)
导读 正如web前端开发中CSS(Cascade Style Sheet)的作用一样,Qt开发中也可以使用修改版的QSS将逻辑业务和用户界面进行隔离.这样,美工设计人员和逻辑实现者可以各司其职而不受干 ...
- Qt控件精讲一:按钮
原地址:http://blog.csdn.net/yuxikuo_1/article/details/17397109 Qt Creater提供6种Button控件.如图1. Button控件介绍 控 ...
随机推荐
- 利用可变参数打印log2
#pragma once #include <string> #include "StdAfx.h" #include <Windows.h> using ...
- day9 函数练习题
写代码,接受n个数字,求这些数字的和 def sum_func(*args): total = 0 for i in args: total+=i return total print(sum_fun ...
- 洛谷P4072 [SDOI2016]征途(带权二分,斜率优化)
洛谷题目传送门 一开始肯定要把题目要求的式子给写出来 我们知道方差的公式\(s^2=\frac{\sum\limits_{i=1}^{m}(x_i-\overline x)^2}{m}\) 题目要乘\ ...
- 说说Java 位运算
前言 我们都知道,在计算机世界里,再复杂,再美的程序,到最后都会变成0与1.也就是我们常说的:二进制.二进制相信大家都很熟悉.与现实世界不同的是,在现实世界里,我们通常都是用十进制来表示的,也就是遇十 ...
- Leetcode 237.删除链表中的节点 By Python
请编写一个函数,使其可以删除某个链表中给定的(非末尾)节点,你将只被给定要求被删除的节点. 现有一个链表 -- head = [4,5,1,9],它可以表示为: 4 -> 5 -> 1 - ...
- 【BZOJ1876】[SDOI2009]SuperGCD(数论,高精度)
[BZOJ1876][SDOI2009]SuperGCD(数论,高精度) 题面 BZOJ 洛谷 题解 那些说数论只会\(gcd\)的人呢?我现在连\(gcd\)都不会,谁来教教我啊? 显然\(gcd\ ...
- 【Codeforces 98E】 Help Shrek and Donkey
http://codeforces.com/problemset/problem/98/E (题目链接) 题意 A君有n张牌,B君有m张牌,桌上还有一张反扣着的牌,每张牌都不一样. 每个回合可以做两件 ...
- 使用fiddler模拟http请求
概述 与httpwath相比,fiddler能模拟http请求.能断点调试.http分析统计吸引了我,使用之后感觉这个工具非常不错,这篇文章只单介绍一下fiddler工作原理,简单介绍一下它的重要功 ...
- [luogu2822][组合数问题]
题目链接 题解: 对于上面和下面的式子进行分解质因数,然后看看上面的质因数个数减去下面的质因数个数能不能达到k的质因数的要求即可. 分解质因数的时候用对于阶乘分解质因数的常用方法:比如要求1999!中 ...
- Mac挂载虚拟机的共享文件夹
说明:sshfs可以帮助本地mac访问虚拟机上的共享文件夹,从而操作虚拟机上的文件夹非常方便 1.安装sshfs sudo port install sshfs 2.使用,指定远程目录,到本地某一目录 ...