猫史档案馆


【PySide2:图形编程】教你用代码薅软件 Part0尝试篇

用户:天上的流星_tianqiVirus天上的流星_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"喵同音)

center_image

那个ui转py文件是基于海龟(鳖)编辑器运行的

向我这种土鳖编辑器坏了的人就无法转换,也就无法使用了

所以,我得出了两点结论:

第一点,qt creater不是好的

第二点,qt creater是坏的

这两点结论又引出了另外两点结论:

第一点,写代码是好的

第二点,写代码不是坏的

所以我来教大家直接写代码

首先,我们看一下qt creater的这个画面center_image

看到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准备的QRectQRect里面的四个数字,关于矩形的,具体是什么可以看我以前的帖子获得参考

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:天上的流星

本帖内的所有代码,思想仅供参考,请勿用于商业盈利用途

 

……

对了,知道上次的这个是什么意思吗

center_image

其实这是暗示了某个关于游戏的东西😁👻


回复

上一页1 页 / 共 1下一页
TobylaiTobylai

我用pyqt4 (pyqt4 ui转换py 坏了,我用代码导入保存下来的ui文件,就可以了)

center_image

点赞0


评论


QBZ_QBZ_

这是ui吗?还是H喵L?

 

点赞0


评论


dounsm36dounsm36

   

点赞0


评论