用户:天上的流星_tianqiVirus查看:13 回复:3 评论:13 创建时间:2019-08-23T13:21:23
PySide2代码写法
教你用代码薅软件
PySide2零基础向,非python零基础向
另外,你们看见的我的图形化作品完全是乱搞,请忽略它们
在编程猫3.0的课程中,我们使用qt creater来做ui界面
我们把做好的ui界面保存,保存下来的是一个ui文件
然后,会给你一个ui转py的文件
使用并转换,然后就形成了py文件,可以修改,可以运行
but(t)
(英语"but"但是和"butt"喵同音)
那个ui转py文件是基于海龟(鳖)编辑器运行的
向我这种土鳖编辑器坏了的人就无法转换,也就无法使用了
所以,我得出了两点结论:
第一点,qt creater不是好的
第二点,qt creater是坏的
这两点结论又引出了另外两点结论:
第一点,写代码是好的
第二点,写代码不是坏的
所以我来教大家直接写代码
首先,我们看一下qt creater的这个画面
看到HelloUglyWorld
这个东西是一个控件
什么是控件
你可以理解为窗口上的按钮,文字,图标等
这个控件是一个标签控件,而且控件的名字也叫做label
那么要把它放在指定的位置的代码是这样的
from PySide2 import QtCore, QtGui, QtWidgets
import sys
class Ui_First(object):
def setupUi(self, First):
First.setObjectName("First")
First.resize(800, 600)
self.centralwidget = QtWidgets.QWidget(First)
self.centralwidget.setObjectName("centralwidget")
self.label = QtWidgets.QLabel(self.centralwidget)
self.label.setGeometry(QtCore.QRect(100, 30, 291, 191))
self.label.setObjectName("label")
First.setCentralWidget(self.centralwidget)
self.retranslateUi(First)
QtCore.QMetaObject.connectSlotsByName(First)
def retranslateUi(self, First):
First.setWindowTitle(QtWidgets.QApplication.translate("First", "First Object", None, -1))
self.label.setText(QtWidgets.QApplication.translate("First", "Hello Ugly World", None, -1))
class MainWindow(QMainWindow,Ui_First):
def __init__(self):
super().__init__()
self.setupUi(self)
self.show()
请注意代码的5~16行
这是核心
我们一行一行来解释
First.setObjectName("First")
设置项目名称,后面要用
First.resize(800, 600)
设置窗口大小,这里为800x600
self.centralwidget = QtWidgets.QWidget(First)
self.centralwidget.setObjectName("centralwidget")
设置一个主窗体部件并命名,加着
self.label = QtWidgets.QLabel(self.centralwidget)
定义一个标签控件,QLabel里的参数是刚刚的那个主窗体部件
self.label.setGeometry(QtCore.QRect(喵))
设置标签控件结构,里面的参数为Qt准备的QRect,QRect里面的四个数字,关于矩形的,具体是什么可以看我以前的帖子获得参考
self.label.setObjectName("label")
设置名字,名字叫做label
后面几行我也不知道什么意思,包括前面的也是蒙的,但是现在界面简单,先照搬上去
看到retranslateUi函数
def retranslateUi(self, First):
First.setWindowTitle(QtWidgets.QApplication.translate("First", "First Object", None, -1))
self.label.setText(QtWidgets.QApplication.translate("First", "HelloUglyWorld", None, -1))
第三行,setText,给标签控件添加文本
可以结合代码和刚刚qt creater的图片,修改看看效果
……
总之,这一次我们解说了ui转好的py文件,并实施研究
其实我也不知道ui转py转好的文件究竟什么意思,但是我结合了运行结果和英语不断理解,最终得以明白
下一篇我不知道会不会出,如果会,我会讲一部分控件的使用
想要继续学习python的请关注
id:天上的流星
本帖内的所有代码,思想仅供参考,请勿用于商业盈利用途
……
对了,知道上次的这个是什么意思吗
其实这是暗示了某个关于游戏的东西😁👻