pyqt6的类被分为几个模块,包括以下模块:
-
QtCore
-
包含了核心的非GUI功能,这个模块用于处理时间、文件和目录、各种数据类型、url、线程和进程
-
-
QtGUI
-
包含窗口系统集成、事件处理、2D图形、基本图像、字体和文本等类
-
-
QtWidgets
-
提供了UI元素来创建经典的桌面风格的用户界面
-
1、QToolTip窗口字体及窗口名设置
(1)窗口字体设置
QToolTip.setFont(QFont("SansSerif",10))
(2)窗口名设置
第一种:变量名方式设置
- w = QWidget()创建窗口对象,然后设置标题w.setWindowTitle("窗口名")。
第二种:类中设置
- self.setWindowTitle("窗口名")
2、QPushButton按钮
- 需模块导入
from PyQt6.QtWidgets import QToolTip,QPushButton
(1)按钮设置方式
- 变量名 = QPushButton("按钮名",self)
(2)若在该按钮上加入消息停留提示
- 变量名.setToolTip("这是一个消息提示控件")
(3)默认大小
btn.resize(btn.sizeHint())
3、QFont字体设置
- 需模块导入
from PyQt6.QtGui import QFont
QToolTip.setFont(QFont("SansSerif", 10))
4、运行函数三剑客
(1)运行当前程序或文件
- 变量名 = QApplication(sys.argv)
(2)调用类
Tip为类名
- ex = Tip()
(3)将应用程序进行主循环,同时可以接收事件。
- sys.exit(app.exec())
完整代码
def main():
app = QApplication(sys.argv)
ex =Tip()
sys.exit(app.exec())
5、关联退出事件
qbtn = QPushButton("退出",self)
qbtn.clicked.connect(QApplication.instance().quit)
6、消息判断框
步骤一:
先另写一个pyqt6自带的函数:closeEvent(self, event):
步骤二:抛出问题方法
reply = QMessageBox.question(self,"消息提示","是否要退出?",QMessageBox.StandardButton.Yes | QMessageBox.StandardButton.No,QMessageBox.StandButton.No) (最后一个默认为No)
步骤三:判断
若返回值为YES,则事件接收,并退出。
if reply == QMessageBox.StandardButton.Yes:
event.accept()
其他情况视为NO,对其他事件不理睬,返回该程序当中。
else:
event.ignore()
完整代码:
def closeEvent(self, event):
reply = QMessageBox.question(self, "消息提示", "是否要退出?", QMessageBox.StandardButton.Yes |
QMessageBox.StandardButton.No, QMessageBox.StandardButton.Yes)
if reply == QMessageBox.StandardButton.Yes:
# 如果返回的值为YES,则事件接受,即退出。
event.accept()
# 其他情况为No,则事件不理睬,回到当前程序。
else:
event.ignore()
效果
7、中心窗口
(程序运行,窗口自动显示在屏幕中心位置)
步骤一:
- 将自带的center()方法写入类的属性中。
self.center()
步骤二:
- 将窗口居中的代码放在自定义center方法中。
def center(self):
qr = self.frameFeometry()
步骤三:
- 计算显示的屏幕分辨率,通过分辨率,得到中心点。
cp = self.screen().availableGeometry().center()
步骤四:
- 移动到屏幕中心,矩形大小不变
qr.moveCenter(cp)
步骤五:
- 将应用程序的左上角移动到qr矩形的左上角,使窗口在屏幕上居中。
self.move(qr.topLeft())
完整代码:
def center(self):
# 将窗口居中的代码放置在自定义center方法中
qr = self.frameGeometry()
# 计算出显示的屏幕分辨率,通过这个分辨率,我们得到中心点
cp = self.screen().availableGeometry().center()
# 设置为屏幕的中心,矩形的大小不变
qr.moveCenter(cp)
# 将应用程序窗口的左上角移动到qr矩形的左上角,使窗口在屏幕上居中
self.move(qr.topLeft())
目前先初步认识,待后续...
标签:qr,窗口,center,self,知识,基础,pyqt6,StandardButton,QMessageBox From: https://www.cnblogs.com/LoLong/p/16948780.html