还记得上节课我们创建的designer.exe快捷方式吗, 让我们打开
全英文的, 不要怕, 快速入门要记的东西并不多
点击新建按钮
可以创建的有两种窗口
这便是我们的程序界面, 控件直接拖过来就好
我这里随意画了一个登录的ui
使用了2个Qlabel, 两个QlineEdit, 一个QpushButton
关于常用控件我们将在下一节详细学习
在点击不同控件的时候, 我们可以看见, 在属性区内容是不一样的
笔者只讲最常用的属性, 其他的可以自行翻译, 尝试修改
黄色部分为所有控件都有的属性
下面的蓝色部分每一个控件都不一样, 可以翻译知道到底是什么意思
现在以Qlabel(标签为例)
注意!! objectName一定不能重复!!
至此, 我们的第一个ui已经写完了
点击保存按钮将ui文件保存至我们的工程
在目录下就会多出一个ui文件
在刚刚的.ui文件同级下新建一个文本文件, 并写下以下内容
pyuic5 -o my_first_ui.py my_first_ui.ui
pause
将文件改名为 translate.bat, 双击执行此文件
以后每次修改.ui文件都要执行这个文件, 以转换ui
弹出窗口如图, 同时同目录下多出一个与ui同名的.py文件
什么, 记事本弹出来了? 看看文件后面有没有.txt? 如果没有点击这里查看怎么修改扩展名
此文件不要改动, 因为每次我们修改ui文件, 里面的东西都会被重置
我们做的只需要记住红框里的class名称 (这个名称和QMainWindows的objectName一致)
如果没有那个class? 说明前面几步你可能写错了, 检查一下吧
在.ui目录同级下建立新的python文件, 命名为main.py(名字自取)
还记的第一节课中要记住的代码吗, 让我们复制进去, 再稍加改动
import sys
from PyQt5.QtWidgets import *
from PyQt5.QtGui import *
from PyQt5.QtCore import *
from my_first_ui import * # 导入我们刚转换的ui
class MyWindows(Ui_MainWindow, QMainWindow):
def __init__(self):
super(MyWindows, self).__init__()
self.setupUi(self)
app = QApplication(sys.argv)
my_windows = MyWindows() # 实例化对象
my_windows.show() # 显示窗口
sys.exit(app.exec_())
首先我们用一个类继承了窗口类和QMainWindow类以避免在原文件上修改
然后使用super去初始父类
此写法都是固定的, 要修改的是MyWindows名称
如果有多个窗口的话就构建多个class, 如图
按ctrl+s保存后按F5进行运行, 结果如下
至此, 我们的第一个窗口就创建成功了!