pyqt5的窗口一般设置
书接上回,pyqt按钮、文本、输入框的介绍,本次继续学习窗口大小和位置,本文主要设置了窗口显示在中心区域。相关代码和注释如下:
import sys #sys模块提供了与Python解释器和操作系统交互的功能
from PyQt5.QtWidgets import QApplication,QWidget,QPushButton,QLabel,QLineEdit,QDesktopWidget
#QApplication是用于管理应用程序的类,而QWidget是用于创建窗口和用户界面的类,后面各类为按钮,文本,输入框,
if __name__=='__main__': #检查Python脚本是否正在作为主程序直接运行
app = QApplication(sys.argv) #创建一个APP对象,sys.argv是一个包含命令行参数的列表,用于从命令行接收参数
w=QWidget() #意味着你可以使用变量w来引用和操作这个窗口部件
w.setWindowTitle('第一个pyqt') #设置窗口名称
btn=QPushButton('登录') #创建一个按钮
btn.setGeometry(120,120,40,40) #按钮位置大小
btn.setParent(w) #认w窗口作“干爹”,用于显示在w窗口中,注意不加此句,按钮显示不出来
label = QLabel("邮箱:",w) #创建一个文本框,与上句代码功能一样,不过这个相当于出生直接认w当“亲爹”
label.setGeometry(40,40,60,60) #设置label框的位置和大小,依次为:x、y、w、h
edit=QLineEdit(w) #创建文本框
edit.setPlaceholderText("请输入密码:") #文本框显示内容
edit.setGeometry(40,100,60,60) #文本框位置大小
w.resize(500,500) #设置窗口大小
center_pointer=QDesktopWidget().availableGeometry().center() #获取桌面上窗口区域的中心坐标
x=center_pointer.x() #将中心窗口x坐标赋值给x
y=center_pointer.y() #将中心窗口x坐标赋值给y
rect=w.frameGeometry() #获取窗口位置和大小,包括左上角的坐标(x、y坐标)以及宽度和高度。
width = rect.width() #将窗口宽度信息赋值给width
height = rect.height() #将窗口高度信息赋值给heighet
w.move(int(x-width/2),int(y-height/2)) #窗口移动到中心,这个公式想不明白的话可以画一个图,另外一定要加int,因为move函数只识别整形变量不然会报错
w.show() #显示窗口
app.exec_() #用于启动事件循环。事件循环负责处理用户输入、绘制界面、处理事件、触发信号等等。只有在事件循环运行时,你的应用程序才能够响应用户的操作。
为了和上节课代码区分,窗口设置中心代码在上述代码块的两个空行之间,同时多引用了一个QDesktopWidget,这点请注意
效果如下:
设置窗口图标
这里只需要加两句代码:
第一句是引入QIcon类:注意这个是在代码的最开始处,毕竟是引入类,我想你懂的
from PyQt5.QtGui import QIcon #导入PyQt5中的QIcon类,用于在GUI应用程序中设置窗口或应用程序的图标
第二句是设置图标:放在w.show()这句前面,记不住的话看上面的代码
w.setWindowIcon(QIcon('liked.png')) #设置想要的图标作为窗口图标,这里选了一个点赞的图图作为图标
这里注意一下,最好把图片和你设计界面的这个文件在同一文件夹,便于查找
效果图如下:
另外如果感兴趣可以加一句
from PyQt5 import Qt #与上一个相同,添加到最上端
.......... #此处为省略了中间代码
w.setWindowFlags(Qt.Qt.CustomizeWindowHint) #隐藏标题栏操作,放在w.show()上面即可
隐藏标题栏效果图如下:
同时这里给大家推荐一个高清小图标网站(阿里巴巴矢量图标库,可以放心使用):https://www.iconfont.cn/
OK 这就是今天的学习内容 也不知道我写清楚了没有 下班下班