赞
踩
程序的用户交互界面,英文称之为 UI(user interface)。当一个应用的 UI 比较复杂的时候,命令行方式就不便用户使用了,这时我们需要图形界面。
如果用 Python 语言开发跨平台的图形界面的程序,主要有3种选择:
Qt是一个跨平台的C++图形用户界面应用程序框架。PySide是一个Python模块,借助PySide,可以在Python下使用Qt。使用PySide既能开发出完美的界面,又能享受Python的便捷开发。
PyQt是GPLv3协议,大意是你的程序中用了它,你的程序就要开源,如果闭源商用就会违反协议(后果自负,脸皮够厚无所谓)。除非你搞封装动态加载那一套来强行规避。
PySide是LGPL协议,如果你只是作为库用用它,你的程序还是可以闭源商用。
所以很多人喜欢PySide。如果不做商业项目,强烈建议使用PyQt,资料多,稳定。需要开发闭源商用软件的就用PySide。
GPL(General Public License)和LGPL( Lesser General Public License)是GNU的两种License。越来越多的自由软件(Free Software)使用GPL作为其授权声明,如果对GPL一点都不了解,有可能在使用自由软件时违反了GPL的授权。如果是个人或不正规的公司倒也无所谓,但如果是有规模的公司,恐怕会有被起诉的风险。
LGPL是GPL的变种,也是GNU为了得到更多的甚至是商用软件开发商的支持而提出的。与 GPL的最大不同是,可以私有使用LGPL授权的自由软件,开发出来的新软件可以是私有的而不需要是自由软件。所以任何公司在使用自由软件之前应该保证在 LGPL或其它GPL变种的授权下
————————————————
版权声明:本文为CSDN博主「quantLearner」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/The_Time_Runner/article/details/893295560
win+R键,输入CMD,输入:pip install pyside2 -i https://mirrors.aliyun.com/pypi/simple/,回车等待安装。
如果使用PyCharm,安装完PySide2包后,还可将Designer工具等添加到pycharm,配置方法参考
PyCharm配置外部工具
Qt Designer是PySide、pyqt程序UI界面的实现工具,使用Qt Designer可以直观地完成GUI界面设计,并且设计完成的.ui程序可以转换成.py文件供python程序调用。
Designer位置:“Python安装路径\Lib\site-packages\PySide2\designer.exe”
控件工具箱:提供GUI界面开发使用的各种基本控件,如单选框、文本框等。可以拖动到新创建的主程序界面。
工作区:用户放置各种从工具箱拖过来的各种控件。
对象查看器:查看主窗口放置的对象列表。
属性编辑器: 提供对窗口、控件、布局的属性编辑功能。比如修改控件的显示文本、对象名、大小等。
信号/槽编辑器:编辑控件的信号和槽函数,也可以添加自定义的信号和槽函数。
QtDesigner中,可以直接将控件拖进窗口中,设计界面,然而存在一个问题是
Designer最常用的布局有3种:
VerticalLayout : 水平布局
HorizontalLayout : 垂直布局
GridLayout:栅格布局
除了使用Layout控件进行布局,containers里的部件同样能布局。
**关于SizePolicy:**每个控件的期望尺寸是不同的,在未设置控件最大值最小值之前,控件推荐到某个尺寸,像默认尺寸一样。但对大多数控件来说,期望尺寸是只读的。这个推荐尺寸是SizeHint。
控件右键,点击编辑样式表,可以设置边距,边框,填充等。
推荐使用动态加载UI文件的方式:
from PySide2.QtUiTools import QUiLoader
from PySide2.QtWidgets import QApplication
class MainWindow:
def __init__(self):
self.ui = QUiLoader().load('0801.ui')
if __name__ == '__main__':
app = QApplication([])
main_window = MainWindow()
main_window.ui.show()
app.exec_()
信号与槽是Qt的核心机制,当信号发射时(例如button的点击、checkbox状态的修改等),连接的槽函数就自动执行。PySide2中信号与槽通过Signal.connect()连接。最常用的信号包括button的clicked、下拉菜单的triggered,combobox的currentIndexChanged,输入框的textChanged等。
各个控件详细文档见:官方文档,另外推荐一位up主python语言爱好者,他详细介绍过几乎每个控件,讲得非常详细,推荐需要专门某个控件时去看他的视频。这里只简单介绍下常用的控件。
QPushButton是最普通也是最常用的按钮之一,程序中通常监听它的clicked信号,连接到槽。
LineEdit是单行文本框,该控件只能输入单行字符串。TextEdit是多行文本框,可以输入多行字符串,此外,还可以显示HTML文档信息。效果上前者相当于.txt,后者相当于.doc。
LineEdit常用方法:
RadioButton也是按钮的一种,多数用于实现“二选一” 或 “多选一”的选择现象。
勾选按钮。常用信号为stateChanged()
下拉菜单。常用信号为:currentIndexChanged (index),currentIndexChanged (index)
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。