写在前面:
①本教程使用pycharm编译器进行pyqt5的学习,安装教程请大家自行百度
②本系列博客根据B站王铭东博主教程学习 学习代码 笔记3
链接:https://pan.baidu.com/s/1i3y4mI_9N84iAC6tav-j8Q
提取码:gupx
资料:
【1】B站教程
【2】B站教程配套课件
【3】PyQt官网的所有模块 (有部分内容没有补充进去)
【4】C++具体实现的API文档
w.resize(800, 800)
import sys
from PyQt5.QtWidgets import QApplication, QWidget, QPushButton, QLabel, QLineEdit
if __name__ == '__main__':
app = QApplication(sys.argv)
w = QWidget()
w.setWindowTitle("第一个PyQt")
w.resize(800, 800) # (w,h)
w.show()
app.exec()
w.move(x,y)
将窗口位置移动到屏幕左上角 w.move(0, 0)
import sys
from PyQt5.QtWidgets import QApplication, QWidget
if __name__ == '__main__':
app = QApplication(sys.argv)
w = QWidget()
w.setWindowTitle("第一个PyQt")
w.resize(300, 300) # resize(w,h)
# 调整窗口在屏幕左上角
w.move(0, 0)
w.show()
app.exec()
①QDesktopWidget().availableGeometry().center()
②center_pointer.x()
import sys
from PyQt5.QtWidgets import QApplication, QWidget, QDesktopWidget
if __name__ == '__main__':
app = QApplication(sys.argv)
w = QWidget()
w.setWindowTitle("第一个PyQt")
w.resize(300, 300) # resize(w,h)
# 调整窗口在屏幕左上角
w.move(0, 0)
# 调整窗口在屏幕中央显示
# QDesktopWidget() 当前屏幕组件 屏幕可用的区域 中心坐标
center_pointer = QDesktopWidget().availableGeometry().center() # todo
print(center_pointer)
x = center_pointer.x()
y = center_pointer.y()
w.move(x, y)
# 显示窗口
w.show()
# 程序进行循环等待状态
app.exec()
①QDesktopWidget().availableGeometry().center()
:
得到屏幕组件可用区域的中心位置
center_pointer = QDesktopWidget().availableGeometry().center()
print(center_pointer)
print(type(center_pointer))
②center_pointer.x()
:得到center_pointer的横纵坐标
x = center_pointer.x()
y = center_pointer.y()
w.move(x, y) # 窗口左上角在屏幕中心
输出:新生成窗口的左上角显示在屏幕中心位置
PyQt5.QtCore.QPoint(959, 519)
已知:屏幕中心 x y
未知:新生成窗口的宽高
①w.frameGeometry()
:得到新生成窗口的坐标与宽高
输出:
PyQt5.QtCore.QRect(0, 0, 300, 300)
②w.frameGeometry().getRect()
:得到坐标及宽高的元组
输出:
(0, 0, 300, 300)
代码:
import sys
from PyQt5.QtWidgets import QApplication, QWidget, QDesktopWidget
if __name__ == '__main__':
app = QApplication(sys.argv)
w = QWidget()
w.setWindowTitle("第一个PyQt")
w.resize(300, 300) # resize(w,h)
# 调整窗口在屏幕左上角
w.move(0, 0)
# 调整窗口在屏幕中央显示
# QDesktopWidget() 当前屏幕组件 屏幕可用的区域 中心坐标
center_pointer = QDesktopWidget().availableGeometry().center() # todo
print(center_pointer)
print(type(center_pointer))
x = center_pointer.x()
y = center_pointer.y()
# w.move(x, y) # 窗口左上角在屏幕中心
# w.move(x - 300 / 2, y - 300 / 2) # 将窗口中心移动到屏幕中心
print(w.frameGeometry()) # 得到窗户的位置与大小
print(type(w.frameGeometry()))
print(w.frameGeometry().getRect()) # 将位置与大小写作(x,y,width,height)
print(type(w.frameGeometry().getRect())) # 打印出来为元组
p_x, p_y, width, height = w.frameGeometry().getRect() # 拆包
w.move(x - width / 2, y - height / 2) # 将窗口中心移动到屏幕中心
# 显示窗口
w.show()
# 程序进行循环等待状态
app.exec()
图标素材链接:https://igoutu.cn/icons
import sys
from PyQt5.QtWidgets import QApplication, QWidget
from PyQt5.QtGui import QIcon
if __name__ == '__main__':
app = QApplication(sys.argv)
w = QWidget()
w.setWindowTitle("图标")
# 设置图标
w.setWindowIcon(QIcon('icon.png'))
w.show()
app.exec()
补充内容:
(1)搜索函数
①当在代码中有个打印了一个你不知道的方法时,查询官方文档:
https://www.riverbankcomputing.com/static/Docs/PyQt5/module_index.html#ref-module-index
运行代码后,打印输出了:
PyQt5.QtCore.QPoint(959, 519)
此时查找上面链接的文档找到对应的说明:
②如果此时该文档中没有解释,查询https://doc.qt.io/qt-5/classes.html ctrl+F
搜索内容
如查找QPoint,则找到下面链接:https://doc.qt.io/qt-5/qpoint.html
(2)todo的用法
todo:在代码注释中写入todo表示待解决的事情
在后续编写代码的时候就能够快速定位该位置