简而言之,PyQt5 就是一个类似于 Java Swing 的 GUI 工具,其中已经内置了较多的高级模块,而且使用 PyQt Desinger 这种工具,可以做到图形化绘制界面,并再次转换成 py 脚本文件...: 左侧即是列出的所有元素,包括表格、输入框、标签、复选框、下拉框等等 中间是绘图界面,可以自己移动元素 右侧上面是每个元素的对象信息 右侧中间是选中元素的属性,可以修改大小、默认值、字体、样式、鼠标悬停策略等等信息...右侧下面是高级属性,也就是 PyQt5 的信号槽,可以完成多线程操作 我们绘制一个简单的表单如下: 可以点击上面导航栏中的预览进行页面预览: 点击保存为 *.ui 文件,使用 PyCharm 打开,使用...入门 现在我们用上面的表单做这么一件事情,点击确定,弹窗提示“添加成功”,点击“重置”,清空表单中的所有内容,所以我们要在 py 文件中添加动态操作,整个逻辑比较简单,就是在点击“确定”按钮时,获取到上面表单的填写内容...,在后台打印,并在前台弹窗添加成功,而点击“重置”时,清空表单中的所有内容。
布局管理是GUI编程中的重要部分。布局管理是一种如何在应用窗口上放置组件的方法。 我们可以通过两种基本方式来管理布局。 绝对定位和布局类。...上文我们提到PyQt编程中的绝对定位,今天我们来谈谈另外一种布局方式-窗口布局。 使用四种窗口布局管理界面控件布局是组织窗口小部件的首选方式。...QGridLayout 栅格布局管理器(QGridLayout):用网格的形式,把程序中添加的控件以一定的矩阵形式进行排列。 如下所示: ?...如括号里面的(0,0,1,1),这里的话,前两个数字意思是将按钮放置在矩阵开始的第一行第一列,后两个数字意思是按钮占一行一列,也就是一个空格的空间。...2个标签控件,2个文本控件,将每个标签控件和一个文本控件进行匹配。
QtCore.QMetaObject.connectSlotsByName(MainWindow) def center_display(self, MainWindow): # 获取屏幕大小...screen = QDesktopWidget().screenGeometry() # 获取窗口大小 size = MainWindow.geometry...必须加& 否则不能绑定快捷键 nameLineEdit1 = QLineEdit() nameLabel1.setBuddy(nameLineEdit1) # 设置名称标签和输入框的关联...QLineEdit() mac_lineEdit = QLineEdit() date_lineEdit = QLineEdit() licence_lineEdit...QFormLayout from PyQt5.QtCore import Qt class lineEdit_demo(QWidget): def __init__(self):
计算的历史信息会保存在文本浏览框中。代码如下: ?...# _*_ coding:utf-8_*_ import sys from math import * from PyQt5.QtGui import * from PyQt5.QtWidgets import...() #获取 光标位置 索引 # self.sender() 为信号发送者(产生对应事件的控件) text = self.sender().text() # 获取 按钮...在PyQt 中我们可以使用绝对定位(给定x和y坐标) 和使用布局类。但是,使用绝对定位主要有以下缺点: 1. 如果我们改变了窗口的大小,控件的位置可能变得不协调 2....布局可以嵌套使用,如本例中网格布局就嵌套在垂向箱型布局中。
对于多窗口的情况,一般有两种解决方法:一种是主窗口获取子窗口中控件的属性,另一种是通过信号与槽机制,一般是子窗口通过发射信号的形式传递数据,主窗口的槽函数获取这些数据。...编程过程中,经常会遇到输入或选择多个参数的问题。...通过示例,了解属性传参的方法,效果如下所示: 示例中,在主窗口中调用对话框有两种方法,单击“弹出对话框"按钮,在对话框的时间日期控件中选择日期,则会把所选中的日期返回到主窗口的lineText文本框控件中...,一般是通过子窗口发射信号的,主窗口通过槽函数捕获这个信号,然后获取信号里面的数据。...= QPushButton('获取时间') self.lineEdit_inner = QLineEdit(self) self.lineEdit_emit = QLineEdit
本篇主要介绍 QTabWidget的用法, 也会顺带介绍 QRadioButton 的分组, 以及 复合窗口部件的创建 。...Tab标签页窗口部件(QTabWidget)可以有多个”页面“(page),每个页面包含一个Tab标签页标题(可含图标),和若干子窗口部件(要么是单个部件,要么由它们组成一个复合窗口部件)。...import sys from PyQt5.QtWidgets import * from PyQt5.QtGui import QIcon #from PyQt5.QtCore import Qt,...QTabWidget.West) #西(2,左) #self.tabWidget.setTabPosition(QTabWidget.East) # 东(3,右) #设置 tab 标签的形状...radioButton2 = QRadioButton("女") radioButton2.setChecked(True) #同一button group 或同一
PyQt是一个用于创建GUI应用程序的跨平台工具包,它将Python与Qt库融为一体。PyQt允许使用Python语言调用Qt库中的API。...() 获取内容边距(左, 上, 右, 下),元组 contentsRect() 获取内容区域 案例 创建一个窗口, 包含一个标签,标签文本为”Hello World”,标签大小为(100..., 60),将文本放在标签的右下角,默认文本显示是水平靠左,垂直居中的 from PyQt5.Qt import * import sys app = QApplication(sys.argv)...self.focusNextPrevChild(False) # True 是前面的Next False 是后面的Prev # print(self.focusWidget()) # 点击时获取它的子控件中获取焦点的那个...) lineEdit2.setFocus() #先让第二个获取焦点 lineEdit3.setFocusPolicy(Qt.TabFocus) #第三个只能Tab键来获得焦点 # lineEdit2
,如下:图片2 期望尺寸2.1 期望尺寸每个控件都有一个默认的推荐尺寸或期望尺寸(sizeHint);大部分控件,sizeHint是只读属性;拖两个按钮和文本控件,如下:图片保存为test011_sizeHint.ui...:图片获取控件textEdit的期望尺寸的高度:192获取控件textEdit的期望尺寸的宽度:256获取控件pushButton的期望尺寸的高度:34获取控件pushButton的期望尺寸的宽度:47...获取控件pushButton_2的期望尺寸的高度:34获取控件pushButton_2的期望尺寸的宽度:47大部分控件的最小期望尺寸和期望尺寸是一样的,获取方法为:self.控件.minimumSize...,它定义了部件再布局管理中如何分配大小;大小由QSizePolicy类实现;每个部件基本都有水平策略和垂直策略两种。...;我们调整下左边树控件占比三分之一,右边面板控件占比三分之二:水平和垂直策略都是Expanding,树控件的水平和垂直伸展都设置1,面板控件水平和垂直伸展都设置2即可;图片图片再在右边的面板控件拖动几个标签和文本
Working directory 填写 sample.ui在磁盘中的地址,我选择的位置是D:QQPCMgrDesktopPyui,这同时也是转化后的sample.py文件保存的地址。 ?...主程序 text 用来接收 lineEdit 中的文本内容,允许浮点型的字符串。...其他类型字符串会提示错误,标签一提示输入不合法,标签二提示随机数的范围,并清空 lineEdit 的文本框,将 text 赋值为空字符串。 如果字符串不为空,继续执行接下来的程序。...def guess(self): # text 接受文本框中的文本 text = self.lineEdit.text() # 异常处理 # 可处理数值型字符串,...如果需要获取源代码,也可在他的公众号里回复关键字:猜数 ? 我们编程教室会持续向所有人开放,如果有投稿或参与志愿者的意向,欢迎随时在公众号里给我们留言。 ----
本篇介绍PyQt 的 层叠窗口部件。 QStackedWidget (层叠窗口部件)和 QTabWidget 的作用相似,都可以把多组不同的部件 放置到不同的页面显示,从而节省 窗口空间。...它们的使用方法也相似,通过下面的方法可以添加页面: self.stackedWidget.addWidget(widget) 唯一不同的地方在于,不像 TabWidget, 层叠窗口部件没有 Tab 标签...,必须借助其他部件的 信号才能在各个页面之间进行导航。...import sys from PyQt5.QtWidgets import * #from PyQt5.QtGui import QIcon #from PyQt5.QtCore import Qt,...radioButton2 = QRadioButton("女") radioButton2.setChecked(True) #同一button group 或同一
1 栅格布局1.1 按钮布局拖入几个按钮,如图:图片选中所有按钮,右键点击布局-栅格布局:图片之后可以看到栅格布局的效果,类似计算器一样:图片1.2 栅格布局中拖入控件先拖动栅格布局到窗口:图片可以拖动按钮到栅格布局中...-*- coding: utf-8 -*-# Form implementation generated from reading ui file 'GriLay.ui'## Created by: PyQt5...Do not edit this file unless you know what you are doing.from PyQt5 import QtCore, QtGui, QtWidgetsclass...ui = Ui_MainWindow() ui.setupUi(window) window.show() sys.exit(app.exec_())图片2 表单布局2.1 标签...+输入控件拖入标签和输入控件,如下:图片选中所有的控件,右键点击布局-在窗体中布局:图片效果如下:图片2.2 保存并调用保存为ForLay.ui,并生成ForLay.py文件:# -*- coding:
Working directory 填写 sample.ui在磁盘中的地址,我选择的位置是D:\QQPCMgr\Desktop\Pyui,这同时也是转化后的sample.py文件保存的地址。 ?...主程序 text 用来接收 lineEdit 中的文本内容,允许浮点型的字符串。...其他类型字符串会提示错误,标签一提示输入不合法,标签二提示随机数的范围,并清空 lineEdit 的文本框,将 text 赋值为空字符串。 如果字符串不为空,继续执行接下来的程序。...def guess(self): # text 接受文本框中的文本 text = self.lineEdit.text() # 异常处理 # 可处理数值型字符串,...如果需要获取源代码,请关注微信公众号:Python高效编程,在微信后台回复猜数即可。
在开始实现登录界面前,先给大家普及一下PyQt5的安装以及使用 1. pyQt5简单使用 安装 pip install PyQt5\ pip3.5 install pyqt5-tools 界面化操作...1.在win+R中输入designer并敲回车,即可启动Designer。...-1.image] 2.创建后,可以方便快捷的用Qt Designer画出对应框体,如通过Combo Box添加下拉选择的控件;通过Push Button添加按钮;通过List Widget添加列表框...+R预览当前编写的GUI显示如下: [f1587789b21b4304868571dae9a6169b~tplv-k3u1fbpfcp-zoom-1.image] 3.点击保存,生成*.ui的文件,本例中为...(self.lineEdit_account) self.lineEdit_password = QLineEdit() self.lineEdit_password.setPlaceholderText
PyQT模块 QtCore模块 涵盖了包的核心的非GUI功能,此模块被用于处理程序中涉及的时间、文件、目录、数据类型、文本流、链接、QMimeData、线程或进程等对象。...QtPositioning模块 用于获取位置信息,此模块允许使用多种方式实现定位,包括但不限于:卫星、无线网、文字信息。此模块一般用在网络地图定位系统中。...PyQT主要类 QObject类 在类层次结构中是顶部类(Top Class),它是所有PyQt对象的基类。 QPaintDevice类 所有可绘制的对象的基类。...窗口控件 提供了一个命令按钮 QRadioButton控件 提供了一个单选钮和一个文本或像素映射标签 QCheckBox窗口控件 提供了一个带文本标签的复选框 QspinBox控件 允许用户选择一个值,...,如矩形、椭圆或多边形。
猫头虎分享:Python库 PyQt 安装、配置、用法详解 用Python也能轻松开发出媲美 C++ 的 GUI 界面程序! 在Python众多GUI开发库中,PyQt 是一颗闪耀的明星!...PyQt 的核心模块与概念 PyQt 核心模块概览: QtWidgets:包含窗口、按钮、标签等 GUI 组件。 QtCore:提供信号与槽、时间管理等底层功能。...在 Qt Designer 中创建一个简单的登录界面,包含: 标签:用户名、密码 输入框:QLineEdit 按钮:登录 2....在生成的代码中补充逻辑: from PyQt5.QtWidgets import QApplication, QMainWindow import login # 导入生成的 login.py class...而 Python 的易用性也让越来越多的开发者选择 PyQt 开发桌面应用。 更多精彩教程,关注猫头虎技术团队! 如果你对 PyQt 或其他 Python 技术有问题,欢迎在评论区留言,一起交流!
sys.argv) example = radio_button() example.show() sys.exit(app.exec_()) 1.3 QCheckBox 一组带文本标签的复选框...__init__() layout = QFormLayout() self.btn1 = QPushButton('获取列表里的选项') self.btn1..., self.lineEdit1) self.btn2 = QPushButton('获取字符串') self.btn2.clicked.connect(self.get_str...) self.lineEdit2 = QLineEdit() layout.addRow(self.btn2, self.lineEdit2) self.btn3...= QPushButton('获取整数') self.btn3.clicked.connect(self.get_int) self.lineEdit3 = QLineEdit
PyQt 5中有四种布局方式:水平布局、垂直布局、网格布局、表单布局,以及两种布局方法,即 addLayout()和addWidget(),其中 addLayout()用于在布局中插入子布局,addWidget...QGridLayout类中的常用方法如下表所示: 3.1、单一的网络布局 来做个单一网格布局的小案例,创建QGridLayout的实例,并设置为窗口的布局,创建按钮的标签列表,在网格中创建一个位置列表...表单是提示用户进行交互的一种模式,其主要由两列组成:第一列用于显示信息,给用户提示,一般叫作label域;第二列需要用户进行选择或输入,一般叫作field域。...1") lineEdit1 = QLineEdit() labl2 = QLabel("标签2") lineEdit2 = QLineEdit() labl3 = QLabel("标签3...") lineEdit3 = QLineEdit() fromlayout.addRow(labl1, lineEdit1) fromlayout.addRow(labl2, lineEdit2
来源:Python高效编程 作者:flywind 以前,公众号分享了如何使用 PyQt5 制作猜数游戏和计时器,这一次,我们继续学习:如何使用 PyQt5 制作天气查询软件。...开发环境 Python3 PyQt5 requests 准备工作 首先要获取不同城市对应的天气代码,可以从 https://www.heweather.com/documents/city.html 网站下载...= file.loc[:,['City_ID', 'City_CN']] # 读取前五行信息 file.head() # 匹配 City_ID 中的数字 def convert(x): pat =...: # 将 textEdit 设置为只读模式 self.textEdit.setReadOnly(True) # 将鼠标焦点放在 lineEdit 编辑栏里 self.lineEdit.setFocus...() # 获取 lineEdit 中的文本 city = self.lineEdit.text() # 设置文本 self.textEdit.setText(info) # 清空文本 self.lineEdit.clear
-- coding: utf-8 -- ''' 【简介】 对话框关闭时返回值给主窗口 例子 ''' from PyQt5.QtCore import * from PyQt5.QtGui import...: super(DateDialog, self).init(parent) self.setWindowTitle('DateDialog') # 在布局中添加部件 layout...buttons.accepted.connect(self.accept) buttons.rejected.connect(self.reject) layout.addWidget(buttons) # 从对话框中获取当前日期和时间...(date.date().toString()) print('\n日期对话框的返回值') print('date=%s' % str(date.date())) print('...(date.toString()) print('\n日期对话框的返回值') print('date=%s' % str(date)) print('time=%s' % str
先上图让大家感受一下 程序的功能很简单,可以从三个主流翻译器中选择任意的翻译器进行单词和句子的翻译,使用PyQt5模块实现人机交互,用requests模块发送请求,并将翻译结果返回给用户。...因为时间戳不同步所以直接请求百度翻译的主页获取到的token是用不了的,只能人为地把网页当前显示的token值复制下来然后赋值给代码里的token。...sign参数是根据翻译的内容而在前台生成的,如果发送的请求中,query内容和sign不匹配,则收到的响应是error。下面要做的就是破解百度翻译sign。...将这个代码放在格式化工具中重新排版一下,找到sign执行函数的代码,再用execjs,执行这段js代码,在计算过程中还需要gtk的值,这个值在翻译首页获取一下就可以。....setText(result) pyQt5官方文档:https://pypi.org/project/PyQt5/ 最后就是打包发布,使用pyinstaller傻瓜式操作即可完成。
领取专属 10元无门槛券
手把手带您无忧上云