欢迎光临散文网 会员登陆 & 注册

pyqt6基础小知识

2022-12-03 21:47 作者:限量版范儿  | 我要投稿

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())

目前先初步认识,待后续...

链接:https://www.dianjilingqu.com/628027.html

pyqt6基础小知识的评论 (共 条)

分享到微博请遵守国家法律