qt designer控件介绍,QT DESIGNER
PyQT5概述PyQT5是Python绑定digia qt5 APP应用的框架。适用于Python 2和3。本教程使用Python 3。Qt库是最强大的GUI库之一。Pyqt5官网3358 www .河岸computing.co.uk/news
作为Python的一个模块,pyqt5拥有超过620个类和6000个函数和方法。这是一个跨平台的工具包,可以运行在所有主要的操作系统上,包括UNIX、Windows和Mac OS。Pyqt5是一个双重许可证。开发者可以在GPL和商业许可之间选择。
pyqt5的类别分为几个模块,包括:
coreqtguiqtwidgetstqtmultimediaqtbluetoothqtnetworkqtpositioningenioqtwebkittwebkittwikitwidgetstqtxmlqtsvqlqtttttttttteteeeeeee用于处理时间、文件和目录、各种数据类型、流、URL、MIME类型、线程或进程。
QtGui包括类似窗口的系统集成、事件处理、2D图形、基本图像、字体和文本。
Qt组件模块包含一个类,用于创建一个经典的桌面风格的用户界面,提供一组UI元素。
QtMultimedia包含用于处理多媒体内容和API,以及访问相机和收音机的类。
Qt模块包含类扫描设备和连接,并与它们通信。说明该模块包含网络编程类。这些类简化了TCP、IP和UDP客户端和服务器的编码,简化了网络编程,并提高了可移植性。
Qt包括一个使用各种可能的来源(如卫星、Wi-Fi和文本文件)进行定位的类。
Enginio模块允许在Qt云服务托管的APP应用运行时访问客户端库。
Qtwebsockets模块包含实现web套接字协议的类。
QtWebKit包含基于Webkit2库的Web浏览器实现类。
QtWebkitwidgets中包含的类的基本webkit1用于实现Qt widgets应用程序web浏览器。
QtXml包含与Xml文件相关的类。这个模块提供了SAX和DOM API的实现。
QtSvg模块提供了显示Svg文件内容的类。可缩放矢量图形(SVG)是一种描述二维图形和图形应用的语言。
QtSql模块提供了操作数据库的类。
QtTest包含允许对pyqt5APP应用程序进行单元测试的函数。
详细介绍参考链接:http://code.py40.com/pyqt5/14.html
Qt设计器简介在PyQt中创建UI界面可以直接用代码完成,也可以在Qt设计器中完成。Qt Designer的设计遵循MVC的架构,实现了视图和逻辑的分离,为开发提供了便利。Qt设计器中使用的方法非常灵活。通过拖动和放置控件,可以随时看到控件的效果。您还可以使用“pyuic5”工具将。Qt Designer生成的ui文件(实际上是XML格式的文件)转换成. py文件。
pistallPYQT5 pistallpyqt 5-工具pyqt 5工具配置安装Vscode示例:
1.打开文件首选项。
搜索:pyuic5和设计师
Pyuic5矿是默认配置:
设计师:
设计器路径首先位于python安装路径下。
D :\program files(如果找不到x86(lib \ site-packages(pyqt 5 _ tools \ bin \ designer ),请重新运行:
d:\ program files(x86(lib \ site-packages(qt5 _ applications(Qt \ bin \ designer 2 . pyqt 3360 new form s
创建新表单时,将提供五个模板。微件和主窗口是最常用的。这里决定创建主窗口。
至此,我们的界面完成了。
配置介绍左侧的widget框是各种可以自由拖拽的组件。
控件箱简介
布局布局(右键单击布局以选择布局)。
垂直布局:垂直布局:水平布局网格布局(拆分为行和列)窗体布局:窗体布局)左列标签,右列组合
groupxscrollatoolboxtabwidgestackedwidgetframe:框架容器是一个组件:窗口容器,包括布局/控件,MDI区域dock组件项目。
列表工件:列
条目树小部件:树条目表小部件:选项卡条目间隔(透明)
水平间隔:水平间隔:垂直间隔按钮按钮
按钮:按钮工具按钮:工具箱按钮(…)单选按钮:单选框复选框:多选框命令链接按钮:对话框按钮框:对话框按钮(确定取消)nput小部件输入控件
组合框:下拉框字体组合框:字体下拉框行编辑:行文本编辑框文本编辑:纯文本编辑框数字显示框:选择整数值双数字显示框:选择浮点值时间编辑:时间选择框数据编辑:日期选择框数据/时间编辑:日期和时间选择框刻度盘:圆形滚动刻度盘水平滚动条:水平滚动条:垂直滚动条水平滑块:垂直滑块键序列编辑:键编辑框显示部件显示控制
Label:标签(显示文字/图片等。)文本浏览器:文本浏览(不可编辑)图形视图:绘画日历Widget:日历LCD数字:LCD数字显示进度条:进度条:横线:竖线OpenGL Widget:OpenGL main window-无标题窗体OpenGL的中间是一块画布,可以在上面放置组件。
右上角的对象检查器可以查看当前UI的结构。
中间的属性编辑器可以设置当前选中组件的属性控件属性简介。
对象:控制对象名称
几何图形:相对坐标(px) x,y,宽度,高度
SizePolicy:控制大小策略
已修复:控件具有sizeHint大小和相同的大小最小值:控件具有sizeHint最小大小,变量大小最大值:控件具有sizeHint最大大小,变量大小小首选:控件具有sizeHint预期大小和minisizeHint最小大小,变量大小扩展:控件具有minisizeHint的最小大小,并需要更大的Minimum大小扩展:控件具有sizeHint的最小大小,并需要更大的磁村。Ignored:忽略sizeHint和minisizeHint,默认设置最小大小。
MaximumSize:最大大小(固定大小:minimumSize=maximumSize)
字体:字体
光标:光标
窗口标题:窗口标题
窗口图标:窗口图标
图标大小:图标大小
工具提示:提示气泡提示信息
状态:状态栏提示信息
文本:控件文本
Tcut:快捷键
水平间距:水平间距
右下方的资源浏览器可以添加各种素材,比如图片、背景等。暂时忽略它们。
菜单栏
在菜单栏中双击Type Here添加一级菜单(文件),点击一级菜单双击Type Here添加一个动作(新文件)。如果您单击下面的按钮并添加一个动作(文本文件),该动作(新建文件)将成为子菜单。
我们可以在动作编辑器中修改菜单中的动作。
等你清楚了界面之后,就可以进行实际的开发了。
在实战中用QtDesigner设计一个登录界面要简单的多,也更直观。先看看效果图:
然后一步一步完成功能。
(1)打开QT界面设计工具QTDSIGNER
如果没有,请参考以上。
安装完成后,在Python安装路径\ lib \ site-packages \ pyqt 5 _ tools \ Qt \ bin中找到designer.exe。双击
(2)选择WDIGET,创建界面(3)在窗口中添加控件,并修改位置和大小
通过拖拽的方式,在窗口中添加以下控件,分别是Lable、Button、QlineEdit和QcheckBox,并修改大小和位置,如图:(4)修改控件属性,并保存UI文件。
修改密码的QlineEdit的echoMode属性为密码(5)把.UI文件转换成.PY文件。
使用以下命令将designer_login.ui文件转换为designer_login.py文件
py C5-o designer _ log in . py designer _ log in . uipyuic 5命令实现ui文件到py文件的转换,命令的格式为pyuic5 -o目标文件源文件。
(6)编写主程序,调用UI程序
# coding=utf-8从PyQt5导入系统。QtWidgets导入QMainWindow,qaapplication导入designer _ log in # # # # # # # # # # # # # # # # # # # # #全局变量# # # # # # # # # # # # # # app=QA application(sys .类MyWindows(designer_login。Ui_Form,QMainWindow):def _ _ init _ _(self):super(my windows,Self)。_ _ init _ _()self . setup ui(self)my _ windows=my windows()# Instantiate object my _ windows . Show()# Show window sys . exit(app . exec _())
Pyinstaller打包到一个。exe文件,并实现了用户登录显示程序界面和逻辑。就是推广使用它。并不是每个人的电脑上都安装了python软件或者相应的python版本和PyQt5工具。那么如何让程序在这些没有python软件的电脑上运行呢?您可以使用pyinstaller工具将程序打包到。exe文件。pyinstaller的用法可以参考《使用Pyinstaller转换.py文件为.exe可执行程序》。封装过程如下:
py installer . exe-fcall _ log in . py-w带库的另一种打包方法:
pyinstaller -w call_login.py
郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。