pyqt一键部署python环境(python使用PyQt5的简单方法)
类别:脚本大全 浏览量:2491
时间:2022-01-20 00:17:07 pyqt一键部署python环境
python使用PyQt5的简单方法一:安装pyqt5
|
pip install pyqt5 |
二:pyqt5简单使用
1:使用pyqt5创建一个简单窗口
|
import sys from pyqt5 import qtwidgets #创建一个应用(application)对象,sys.argv参数是一个来自命令行的参数列表, # python脚本可以在shell中运行。这是我们用来控制我们应用启动的一种方法。 app = qtwidgets.qapplication(sys.argv) #创建一个widget组件基础类 windows = qtwidgets.qwidget() #设置widget组件的大小(w,h) windows.resize( 500 , 500 ) #设置widget组件的位置(x,y) windows.move( 100 , 100 ) """ #设置widget组件的位置居中 qr = windows.framegeometry() cp = qtwidgets.qdesktopwidget().availablegeometry().center() qr.movecenter(cp) windows.move(qr.topleft()) """ #等同于 w.resize(500,500)和w.move(100,100)两句结合,(x,y,w,h) #windows.setgeometry(100,100,500,500) #show()方法在屏幕上显示出widget组件 windows.show() #循环执行窗口触发事件,结束后不留垃圾的退出,不添加的话新建的widget组件就会一闪而过 sys.exit(app.exec_()) |
现象如下:
2:给创建的窗口添加标题和图标
|
import sys from pyqt5 import qtwidgets,qtgui #创建一个应用(application)对象,sys.argv参数是一个来自命令行的参数列表, # python脚本可以在shell中运行。这是我们用来控制我们应用启动的一种方法。 app = qtwidgets.qapplication(sys.argv) #创建一个widget组件基础类 windows = qtwidgets.qwidget() #设置widget组件的大小(w,h) windows.resize( 500 , 500 ) #设置widget组件的位置(x,y) windows.move( 100 , 100 ) """ #设置widget组件的位置居中 qr = windows.framegeometry() cp = qtwidgets.qdesktopwidget().availablegeometry().center() qr.movecenter(cp) windows.move(qr.topleft()) """ #等同于 w.resize(500,500)和w.move(100,100)两句结合,(x,y,w,h) #windows.setgeometry(100,100,500,500) #给widget组件设置标题 windows.setwindowtitle( '标题' ) #给widget组件设置图标 windows.setwindowicon(qtgui.qicon( '2.jpg" alt="pyqt一键部署python环境(python使用PyQt5的简单方法)" border="0" /> #show()方法在屏幕上显示出widget组件 windows.show() #循环执行窗口触发事件,结束后不留垃圾的退出,不添加的话新建的widget组件就会一闪而过 sys.exit(app.exec_()) |
现象如下:
3:给创建的窗口设置按钮及设置提示语
|
import sys from pyqt5 import qtwidgets,qtgui #创建一个应用(application)对象,sys.argv参数是一个来自命令行的参数列表, # python脚本可以在shell中运行。这是我们用来控制我们应用启动的一种方法。 app = qtwidgets.qapplication(sys.argv) #创建一个widget组件基础类 windows = qtwidgets.qwidget() #设置widget组件的大小(w,h) windows.resize( 500 , 500 ) #设置widget组件的位置(x,y) windows.move( 100 , 100 ) """ #设置widget组件的位置居中 qr = windows.framegeometry() cp = qtwidgets.qdesktopwidget().availablegeometry().center() qr.movecenter(cp) windows.move(qr.topleft()) """ #等同于 w.resize(500,500)和w.move(100,100)两句结合,(x,y,w,h) #windows.setgeometry(100,100,500,500) #给widget组件设置标题 windows.setwindowtitle( '标题' ) #给widget组件设置图标 windows.setwindowicon(qtgui.qicon( '2.jpg" alt="pyqt一键部署python环境(python使用PyQt5的简单方法)" border="0" /> #设置提示语的字体和大小 qtwidgets.qtooltip.setfont(qtgui.qfont( 'sansserif' , 10 )) #给widget组件设置提示语 windows.settooltip( '这是窗口提示' ) #设置按钮并给按钮命名 btn = qtwidgets.qpushbutton( 'button' ,windows) #给按钮设置位置(x,y,w,h) btn.setgeometry( 200 , 200 , 100 , 50 ) #给按钮设置提示语 btn.settooltip( '这是按钮提示' ) #设置按钮样式 btn.setstylesheet( "background-color: rgb(164, 185, 255);" "border-color: rgb(170, 150, 163);" "font: 75 12pt \"arial narrow\";" "color: rgb(126, 255, 46);" ) #点击按钮关闭创建的窗口 btn.clicked.connect(qtcore.qcoreapplication.instance().quit) #show()方法在屏幕上显示出widget组件 windows.show() #循环执行窗口触发事件,结束后不留垃圾的退出,不添加的话新建的widget组件就会一闪而过 sys.exit(app.exec_()) |
现象如下(点击button按钮,窗口关闭):
4:设置标签(lable)信息
|
import sys from pyqt5 import qtwidgets,qtgui,qtcore #创建一个应用(application)对象,sys.argv参数是一个来自命令行的参数列表, # python脚本可以在shell中运行。这是我们用来控制我们应用启动的一种方法。 app = qtwidgets.qapplication(sys.argv) #创建一个widget组件基础类 windows = qtwidgets.qwidget() #设置widget组件的大小(w,h) windows.resize( 500 , 500 ) #设置widget组件的位置(x,y) windows.move( 100 , 100 ) """ #设置widget组件的位置居中 qr = windows.framegeometry() cp = qtwidgets.qdesktopwidget().availablegeometry().center() qr.movecenter(cp) windows.move(qr.topleft()) """ #等同于 w.resize(500,500)和w.move(100,100)两句结合,(x,y,w,h) #windows.setgeometry(100,100,500,500) #给widget组件设置标题 windows.setwindowtitle( '标题' ) #给widget组件设置图标 windows.setwindowicon(qtgui.qicon( '2.jpg" alt="pyqt一键部署python环境(python使用PyQt5的简单方法)" border="0" /> #设置lable信息 label = qtwidgets.qlabel(windows) label.setgeometry(qtcore.qrect( 100 , 10 , 100 , 60 )) label.settext( '这是lable信息' ) label.setobjectname( 'label' ) #show()方法在屏幕上显示出widget组件 windows.show() #循环执行窗口触发事件,结束后不留垃圾的退出,不添加的话新建的widget组件就会一闪而过 sys.exit(app.exec_()) |
现象如下:
5:配置输入框
|
import sys from pyqt5 import qtwidgets,qtgui,qtcore,qt #创建一个应用(application)对象,sys.argv参数是一个来自命令行的参数列表, # python脚本可以在shell中运行。这是我们用来控制我们应用启动的一种方法。 app = qtwidgets.qapplication(sys.argv) #创建一个widget组件基础类 windows = qtwidgets.qwidget() #设置widget组件的大小(w,h) windows.resize( 500 , 500 ) #设置widget组件的位置(x,y) windows.move( 100 , 100 ) """ #设置widget组件的位置居中 qr = windows.framegeometry() cp = qtwidgets.qdesktopwidget().availablegeometry().center() qr.movecenter(cp) windows.move(qr.topleft()) """ #等同于 w.resize(500,500)和w.move(100,100)两句结合,(x,y,w,h) #windows.setgeometry(100,100,500,500) #给widget组件设置标题 windows.setwindowtitle( '标题' ) #给widget组件设置图标 windows.setwindowicon(qtgui.qicon( '2.jpg" alt="pyqt一键部署python环境(python使用PyQt5的简单方法)" border="0" /> #设置输入框 textbox = qt.qlineedit(windows) textbox.resize( 100 , 20 ) textbox.move( 50 , 50 ) #show()方法在屏幕上显示出widget组件 windows.show() #循环执行窗口触发事件,结束后不留垃圾的退出,不添加的话新建的widget组件就会一闪而过 sys.exit(app.exec_()) |
现象如下:
三:将上述方法总结一下实现了一个简单的功能,如下:
功能为:在输入框中输入值过后,点击按钮就会打印出你输入的值,关闭窗口会有提示
|
import sys from pyqt5 import qtwidgets,qtgui,qtcore,qt class gui(qtwidgets.qwidget): def __init__( self ): #初始化————init__ super ().__init__() self .initgui() def initgui( self ): #设置窗口大小 self .resize( 500 , 500 ) #设置窗口位置(下面配置的是居于屏幕中间) qr = self .framegeometry() cp = qtwidgets.qdesktopwidget().availablegeometry().center() qr.movecenter(cp) self .move(qr.topleft()) #设置窗口标题和图标 self .setwindowtitle( '窗口标题' ) self .setwindowicon(qtgui.qicon( '2.jpg" alt="pyqt一键部署python环境(python使用PyQt5的简单方法)" border="0" /> #设置窗口提示 self .settooltip( '窗口提示' ) #设置label信息 self .label = qtwidgets.qlabel( self ) self .label.setgeometry(qtcore.qrect( 100 , 10 , 100 , 60 )) self .label.settext( '这是lable信息' ) self .label.setobjectname( 'label' ) # 设置label提示 self .label.settooltip( 'label提示' ) #设置输入框 self .textbox = qt.qlineedit( self ) self .textbox.resize( 100 , 20 ) self .textbox.move( 100 , 50 ) # 设置输入框提示 self .textbox.settooltip( '输入框提示' ) #设置按钮 self .btn = qtwidgets.qpushbutton( '按钮' , self ) self .btn.resize( 100 , 20 ) self .btn.move( 200 , 50 ) # 设置按钮样式 self .btn.setstylesheet( "background-color: rgb(164, 185, 255);" "border-color: rgb(170, 150, 163);" "font: 75 12pt \"arial narrow\";" "color: rgb(126, 255, 46);" ) # 设置按钮提示 self .btn.settooltip( '按钮提示' ) #点击鼠标触发事件 self .btn.clicked.connect( self .clickbtn) #展示窗口 self .show(); #点击鼠标触发函数 def clickbtn( self ): #打印出输入框的信息 textboxvalue = self .textbox.text() qtwidgets.qmessagebox.question( self , "信息" , '你输入的输入框内容为:' + textboxvalue,qtwidgets.qmessagebox.ok, qtwidgets.qmessagebox.ok) #清空输入框信息 self .textbox.settext('') #关闭窗口事件重写 def closeevent( self , qcloseevent): reply = qtwidgets.qmessagebox.question( self , '警告' , "确定关闭当前窗口?" , qtwidgets.qmessagebox.yes | qtwidgets.qmessagebox.no, qtwidgets.qmessagebox.no) if reply = = qtwidgets.qmessagebox.yes: qcloseevent.accept() else : qcloseevent.ignore() if __name__ = = '__main__' : app = qtwidgets.qapplication(sys.argv) gui = gui() sys.exit(app.exec_()) |
现象为:
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持开心学习网。
原文链接:https://segmentfault.com/a/1190000018309531
您可能感兴趣
- python获取网络数据tcp(Python选择网卡发包及接收数据包)
- python读取文件的方法和区别(浅谈PYTHON 关于文件的操作)
- python面向对象的介绍(Python面向对象思想与应用入门教程类与对象)
- python表格导出为图片(python生成带有表格的图片实例)
- python中if判断数据类型(基于python if 判断选择结构的实例详解)
- python如何对参数长度进行限制(python 多个参数不为空校验方法)
- python爬虫怎么爬取vip资源(Python网络爬虫之爬取微博热搜)
- python随机生成时间戳(python时间序列按频率生成日期的方法)
- python对于gbk处理(Python 2/3下处理cjk编码的zip文件的方法)
- python类定义(浅谈python新式类和旧式类区别)
- python如何新建虚拟环境(详解如何管理多个Python版本和虚拟环境)
- python与php比较(浅谈php调用python文件)
- python怎么自动生成报告(python根据文章标题内容自动生成摘要的实例)
- python 聚类找出同一类别的数据(Python实现简单层次聚类算法以及可视化)
- python快速数据分类(Python基于滑动平均思想实现缺失数据填充的方法)
- wxpython 弹出对话框显示图片(WxPython建立批量录入框窗口)
- 虐待儿童是发泄支配欲的愚蠢行为(虐待儿童是发泄支配欲的愚蠢行为)
- 你或许不知道你隐藏的支配欲望(你或许不知道你隐藏的支配欲望)
- 把宽体丰田86卖了,换成7.5代高尔夫GTI玩起姿态与性能并存的改装(把宽体丰田86卖了)
- 大众推出了第五代高尔夫GT(大众推出了第五代高尔夫GT)
- 换代在即,现在是抄底 7.5代 高尔夫的最佳时机吗(换代在即现在是抄底)
- 2020年大众7.5代高尔夫R终结特别版 最后的呐喊(2020年大众7.5代高尔夫R终结特别版)
热门推荐
- aspwebserver怎么操作(EasyWebServer怎么用?EasyWebServer网站服务器软件使用教程)
- python中随机生成不重复随机数(python 在指定范围内随机生成不重复的n个数实例)
- laravel开发api支持多少并发(laravel框架 api自定义全局异常处理方法)
- zabbix 容器(zabbix监控docker应用配置)
- sql server删除曾经登录过的登录名
- linux内核设备树(解析Linux内核与设备树的编译和烧写)
- 如何把织梦建站弄到自己的域名中(织梦建站访问首页时后面都会添加上index.html该如何去掉)
- sqlserver2000显示无服务器(SQL SERVER 2000 9003错误的解决方法只适用于SQL2000)
- mysql8.0安装版安装详细教程(mysql 8.0.24版本安装配置方法图文教程)
- css3过渡技巧视频(css3过渡_动力节点Java学院整理)
排行榜
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9