目录
3.1. 创建一个页面
3.2. 添加相关控件
3.2.1. 添加标签
3.2.2. 添加输入框
3.2.3. 添加按钮
3.2.4. 设置背景
前言
上一次利用tkinter设计了一个登陆注册界面受到了很多小伙伴的关注(传送门),于是想着利用PyQt来实现,当然是因为 PyQt长的好看呀,并且这一次我们使用数据库来存储用户信息,是不是一下子比上一次逼格了不少,先看看效果吧
![演示](img-blog.csdnimg.cn/20191127125… =600x)
下面马上开始吧
环境配置
前面的两个内容在之前的教程中已经解决了,接下来我们来下载安装所要使用的库, 只需要运行以下的命令便可以安装 PyQt5了,不过时间可能稍微长一点,耐心等待~~
pip install PyQt5
复制代码
主页面
1. 创建一个页面
对于新手来说最简单粗暴的方法为,在这里我们使用此种方式
from PyQt5.Qt import *
复制代码
除此之外我们还需要导入sys模块
import sys
复制代码
然后利用下面代码创建一个主页面
class MyWindow(QMainWindow):
def __init__(self):
super().__init__()
self.set_ui()
def set_ui(self):
self.resize(1000, 800)
self.setWindowTitle(' Login in')
app = QApplication(sys.argv)
window = MyWindow()
window.show()
sys.exit(app.exec_())
复制代码
在上面的代码中我们首先导入了所需要的模块
QApplication -> 应用程序,一个程序只能有一个应用程序接口
QMainWindow -> 主窗口,一个程序也只能有一个主窗口
sys -> 获取系统的信息,比如命令行的,并且承担关闭窗口后完全退出的责任
然后我们使用
resize -> 设置窗口的大小
setWindowTitle -> 设置窗口的标题
接着使用
app = QApplication(sys.argv)创建一个应用
创建一个窗口window并且调用show方法来显示窗口
app.exec_() 可以让窗口一直运行知道被关闭,类似于tkinter中的mainloop方法
sys.exit(app.exec_())可以用来判断程序是否正常退出
运行之后,我们可以看到以下界面,和平常所见的是不是一模一样!
我们还可以使用下面的代码为我们的图像添加一个图标
def change_icon(self):
"""用来修改图像的图标"""
self.icon = QIcon("python-logo.png")
self.setWindowIcon(self.icon)
复制代码
添加图标之后,界面得到进一步的美化,接下来我们将对我们的界面添加一些控件与用户进行交互
2. 添加相关控件
2.1 添加标签
类似tkinter中的Label, QLabel为PyQt中提供的标签对象,我们可以使用下面的代码实现标签的添加
def add_label(self):
self.label = QLabel(self)
self.label.setText('username')
self.label.setFixedSize(240, 40)
self.label.move(120, 530)
复制代码
在上述代码中,我们首先定义了一个QLabel对象,然后使用其中的方法setText -> 设置文本内容
setFixedSize -> 设置不可修改的窗口大小
然后我们来设置以下字体,利用 QFont对象来创建一个字体对象,然后使用QLabel对象的setFont方法进行设置
# 设置字体
label_font = QFont()
label_font.setFamily('Consolas')
label_font.setPixelSize(35)
self.label.setFont(label_font)
复制代码
QFont中的方法setFamily -> 设置字体
setPixelSize -> 设置字体大小
运行之后我们可以得到之下的效果
然后同样的添加 password等文字标签,全部代码如下:
def add_label(self):
"""添加相应的标签"""
# 设置字体
label_font = QFont()
label_font.setFamily('Consolas')
label_font.setPixelSize(35)
# 创建文本