PyQt5:布局,pushbutton按钮,radiobutton按钮,lableImage设置图片的基本使用方法
效果图:
导航:
水平布局
网格布局
垂直布局
使用lable设置图片
radiobutton的使用
1水平布局
首先创建了一个QGroupBox,将三个按钮放在这个组件里
self.groupBox = QGroupBox(‘there are some buttons’)
然后创建一个水平布局对象
hboxlayout = QHBoxLayout()
按钮的创建及设置
button1 = QPushButton(‘enter’,self)
button1.setToolTip(‘button1’)
button1.setIconSize(QtCore.QSize(40,25))
将设置好的按钮放入这个水平布局中
hboxlayout.addWidget(button1)
创建多个按钮并执行同样的操作
可以将水平布局对象理解为一个窗口(widget),不过这个窗口是内嵌在主窗口中的.
最后将这个水平布局 hboxlayout 添加到 GroupBox中
#创建一个包含三个按钮的groupBox组件,并设置这个组件里的元素为水平布局(VBoxLayout)def craetLayoyt(self):self.groupBox = QGroupBox('there are some buttons')hboxlayout = QHBoxLayout()button1 = QPushButton('enter',self)button1.setToolTip('button1')button1.setIconSize(QtCore.QSize(40,25))hboxlayout.addWidget(button1)button2 = QPushButton('cancle', self)button2.setToolTip('button2')button2.setIconSize(QtCore.QSize(40, 25))hboxlayout.addWidget(button2)button3 = QPushButton('back', self)button3.setToolTip('button3')button3.setIconSize(QtCore.QSize(40, 25))hboxlayout.addWidget(button3)self.groupBox.setLayout(hboxlayout)
完成上述工作后,需要把你的creatLayout添加到主窗口初始化
def initWindow(self):self.setWindowTitle(self.title)self.setWindowIcon(QtGui.QIcon(self.iconname))self.setGeometry(self.left,self.top,self.width,self.height)self.craetLayoyt()self.createGridLayout()self.createMylable()self.myLableImg()self.myradiobutton()self.lable = QLabel('hello')#底部显示选中的状态#主窗口的布局是垂直排列的vbox = QVBoxLayout()vbox.addWidget(self.groupBox)vbox.addWidget(self.groupBox2)vbox.addWidget(self.groupBox3)vbox.addWidget(self.groupBox4)vbox.addWidget(self.groupBox5)vbox.addWidget(self.lable)self.setLayout(vbox)
2.网格布局
使用方法同水平布局一样
不同的是:将按钮或图片添加到布局中的时候,要设置按钮或图片的位置
gridlayout.addWidget(lableimg1,0,0)
参数0,0表示第一行第一个
如果参数是0.4,表示第一行的第五个位置,中间未指定的就空白留出
#用lable添加一张图片def myLableImg(self):self.groupBox4 = QGroupBox('this is a lable contain a img')gridlayout = QGridLayout()lableimg1 = QLabel(self)pixmap = QPixmap('python.png')lableimg1.setPixmap(pixmap)gridlayout.addWidget(lableimg1,0,0)lableimg1 = QLabel(self)pixmap = QPixmap('logo.png')lableimg1.setPixmap(pixmap)gridlayout.addWidget(lableimg1,0,1)lableimg1 = QLabel(self)pixmap = QPixmap('ball.png')lableimg1.setPixmap(pixmap)gridlayout.addWidget(lableimg1,1,0)lableimg1 = QLabel(self)pixmap = QPixmap('qiuyi.png')lableimg1.setPixmap(pixmap)gridlayout.addWidget(lableimg1,1,1)self.groupBox4.setLayout(gridlayout)
3.垂直布局
使用方法同水平布局一样
4.添加图片到lable中
需要导入
import QPixmap
lableimg1 = QLabel(self)pixmap = QPixmap('python.png')lableimg1.setPixmap(pixmap)gridlayout.addWidget(lableimg1,0,0)
5.源码:
import sysfrom PyQt5 import QtGui,QtCore
from PyQt5.QtWidgets import QApplication, QPushButton, QMainWindow, QDialog, QGroupBox, QHBoxLayout, QVBoxLayout, \QGridLayout, QLabel, QRadioButtonfrom PyQt5.QtGui import QPixmap
import timeclass window(QDialog):def __init__(self):super(window,self).__init__()self.title = 'pyqt5'self.left = 500self.top = 200self.width = 300self.height = 250self.iconname = 'python.png'self.initWindow()def initWindow(self):self.setWindowTitle(self.title)self.setWindowIcon(QtGui.QIcon(self.iconname))self.setGeometry(self.left,self.top,self.width,self.height)self.craetLayoyt()self.createGridLayout()self.createMylable()self.myLableImg()self.myradiobutton()self.lable = QLabel('hello')#底部显示选中的状态vbox = QVBoxLayout()vbox.addWidget(self.groupBox)vbox.addWidget(self.groupBox2)vbox.addWidget(self.groupBox3)vbox.addWidget(self.groupBox4)vbox.addWidget(self.groupBox5)vbox.addWidget(self.lable)self.setLayout(vbox)#创建一个包含三个按钮的groupBox组件,并设置这个组件里的元素为水平布局(VBoxLayout)def craetLayoyt(self):self.groupBox = QGroupBox('there are some buttons')hboxlayout = QHBoxLayout()button1 = QPushButton('enter',self)button1.setToolTip('button1')button1.setIconSize(QtCore.QSize(40,25))hboxlayout.addWidget(button1)button2 = QPushButton('cancle', self)button2.setToolTip('button2')button2.setIconSize(QtCore.QSize(40, 25))hboxlayout.addWidget(button2)button3 = QPushButton('back', self)button3.setToolTip('button3')button3.setIconSize(QtCore.QSize(40, 25))hboxlayout.addWidget(button3)self.groupBox.setLayout(hboxlayout)#创建包含四个组建的网格布局def createGridLayout(self):self.groupBox2 = QGroupBox('there are some buttons in a gridLayout')gridLayout = QGridLayout()button1 = QPushButton('enter',self)button1.setToolTip('button1')button1.setIconSize(QtCore.QSize(40,25))gridLayout.addWidget(button1,0,0)button2 = QPushButton('cancle', self)button2.setToolTip('button2')button2.setIconSize(QtCore.QSize(40, 25))gridLayout.addWidget(button2,0,1)button3 = QPushButton('back', self)button3.setToolTip('button3')button3.setIconSize(QtCore.QSize(40, 25))gridLayout.addWidget(button3,1,0)lable = QLabel('hello world')gridLayout.addWidget(lable,1,1)self.groupBox2.setLayout(gridLayout)#lable的创建,以及lable样式表def createMylable(self):self.groupBox3 = QGroupBox('there are some lables')vboxlayout = QVBoxLayout()lable1 = QLabel('today is tuesday')vboxlayout.addWidget(lable1)lable2 = QLabel('yestaday is tuesday')lable2.setFont(QtGui.QFont('Sanserif',20))lable2.setStyleSheet('color:red')vboxlayout.addWidget(lable2)lable3 = QLabel('tommorry is tuesday')vboxlayout.addWidget(lable3)self.groupBox3.setLayout(vboxlayout)#用lable添加一张图片def myLableImg(self):self.groupBox4 = QGroupBox('this is a lable contain a img')gridlayout = QGridLayout()lableimg1 = QLabel(self)pixmap = QPixmap('python.png')lableimg1.setPixmap(pixmap)gridlayout.addWidget(lableimg1,0,0)lableimg1 = QLabel(self)pixmap = QPixmap('logo.png')lableimg1.setPixmap(pixmap)gridlayout.addWidget(lableimg1,0,1)lableimg1 = QLabel(self)pixmap = QPixmap('ball.png')lableimg1.setPixmap(pixmap)gridlayout.addWidget(lableimg1,1,0)lableimg1 = QLabel(self)pixmap = QPixmap('qiuyi.png')lableimg1.setPixmap(pixmap)gridlayout.addWidget(lableimg1,1,1)self.groupBox4.setLayout(gridlayout)#radiobutton的使用def myradiobutton(self):self.groupBox5 = QGroupBox('there are some radiobuttons in a vboxlayout::which is your favourit programming language')self.groupBox5.setStyleSheet('color:red')self.groupBox5.setFont(QtGui.QFont('Sanserif',21))vboxlayout = QVBoxLayout()radiobtn1 = QRadioButton('python')radiobtn1.setChecked(True)#默认选中radiobtn1.setIcon(QtGui.QIcon('google.png'))radiobtn1.setIconSize(QtCore.QSize(25,25))radiobtn1.setFont(QtGui.QFont('Sanserif',16))radiobtn1.toggled.connect(self.onclickradiobtn)#添加槽vboxlayout.addWidget(radiobtn1)radiobtn2 = QRadioButton('c++')radiobtn2.setIcon(QtGui.QIcon('firefox.png'))radiobtn2.setIconSize(QtCore.QSize(25,25))radiobtn2.toggled.connect(self.onclickradiobtn)vboxlayout.addWidget(radiobtn2)radiobtn3 = QRadioButton('java')radiobtn3.setIcon(QtGui.QIcon('opera.png'))radiobtn3.setIconSize(QtCore.QSize(25,25))radiobtn3.toggled.connect(self.onclickradiobtn)vboxlayout.addWidget(radiobtn3)self.groupBox5.setLayout(vboxlayout)#设置radiobutton的点击事件def onclickradiobtn(self):radioBtn = self.sender()if radioBtn.isChecked():self.lable.setText('you have selected'+radioBtn.text())if __name__ == '__main__':app = QApplication(sys.argv)window = window()window.show()app.exit(app.exec_())
里边的图片注意自己替换
PyQt5:布局,pushbutton按钮,radiobutton按钮,lableImage设置图片的基本使用方法相关推荐
- 两个设置图片默认打开方式方法
图 用什么软件打开,对于没什么要求的用户,可能就很随便了,但是对于有些要求的用户来说,简单的Windows 图片查看器肯定是不能满足要求的,所以可能会选用别的图像查看软件,这个时候,可能就需要切换或更 ...
- contos7改分辨率_centos7分辨率怎么设置-修改centos7分辨率的方法 - 河东软件园
CentOS7.0是Linux发布的操作系统之一,在这款操作系统是基于Red Hat Linux研发的,每一个版本都可以保证十年的支持,并且是完全免费的.一般6个月更新一次,2年发布一次新品,Cent ...
- html中怎么设置图片平铺,css怎么把图片平铺?
在网页设计的过程中,有时候可能会要求背景图片平铺,因为这样会让整个网页看起来比较好看,图片平铺可以不用具体设置body宽度和高度大小,就可以直接将图片平铺整个页面. 下面我们来看一下使用css设置图片 ...
- php 不要平铺的代码,css怎么设置图片不平铺
css设置图片不平铺的方法:首先创建一个HTML示例文件:然后在style标签中添加"background:url(img/3.jpg)no-repeat;}"来设置图片不平铺即可 ...
- html img图片不平铺,如何在css中设置图片不平铺
如何在css中设置图片不平铺 发布时间:2021-04-29 15:39:28 来源:亿速云 阅读:80 作者:Leah 这篇文章将为大家详细讲解有关如何在css中设置图片不平铺,文章内容质量较高,因 ...
- 给TextView设置图片的两种实现方法
有时在开发过程中,我们会有在TextView中添加图片的需求(比如下图箭头所指文字中的表情).而在xml中对Textview进行属性设置时,只能设置图片在TextView的左.右.上.下四个位置,不能 ...
- UIBezierPath设置图片圆角
一般我们都会通过Layer设置图片圆角,这种方法在iOS9以前可能会发生离屏渲染, 比较消耗性能,比如当一个页面上有十几头像这样设置了圆角会明显感觉到卡顿.这种就是最常用的,也是最耗性能的. imag ...
- PyQt5 技术篇 - 按钮隐藏并保留位置,pyqt5设置按钮的可见度,设置按钮透明度
设置按钮可见度为 0 每种控件都有 3 种设置可见度为 0 的方法,下面来拿按钮的来举例了. # 标准的隐藏 # 方法一: self.pushButton_3.hide() # 方法二: self.p ...
- WPF RadioButton按钮控件取消选中设置
WPF RadioButton按钮控件取消选中设置 通常我们使用的RadioButton控件选中之后就不能进行取消选中的操作,我上网查找到了解决方法,如下: 首先我们在View视图这里写这个按钮的点击 ...
最新文章
- 用window.open在同一个新窗口中访问指定url【IE页面缓存问题】
- change from a ppt to the report
- Apress Pro Android 2
- gin 生成api文档_gin-swagger 生成RESTful风格OpenAPI文档
- 基于公开数据的特殊人群在线活动特征挖掘
- 华为正式出售荣耀;圆通回应内鬼致 40 万条个人信息泄露;Spring Boot 2.3.6 发布|极客头条...
- Spark一系列入门流程
- default value mysql_Mysql Field * doesn't have a default value解决方法
- 张口就来!国家java认证考试报名入口
- JDK下载与安装教程(超详细)
- taobao.trades.sold.get-查询卖家已卖出的交易数据API接口,店铺交易API接口,店铺订单交易API接口,订单详情API接口,r2接口,淘宝oAuth2.0接口
- Java HashMap的遍历(常用的四种方式),及key,value规律
- 可以批量制作吊牌标签上的条码标签打印软件
- MFS分布式文件系统一
- 电脑无法分屏,连接两个显示器,但只能检测到一个显示器,且只有一个显示器有画面
- 关于DRV8303/8301电路框图
- 苹果笔记本python_python实现在mac笔记本上更换桌面背景
- 【ISAR成像定标方法(2)—平动目标ISAR成像的运动补偿方法MATLAB仿真】
- Linux:文件创建时间如何修改?
- bootstrap实现登录注册界面