PyQt6中实现“窗口居中”和“确认框”

1、首先搭建一个基本的窗口 ,代码如下:

 

import sys
from PyQt6.QtWidgets import QApplication,QWidget

class Add_func(QWidget):      #在PyQt6中QWidget是所有用户接口对象的基类
    def __init__(self):
        super().__init__()    #继承QWidget类的实例属性和方法
        self.initUI()

    def initUI(self): 
        self.setWindowTitle("python")        #把窗口标题栏设置为"python"
        self.setGeometry(300,300,500,200)    #300,300是窗口位置,500,200的是窗口大小    
        self.show()                          #窗口首先在内存中创建,然后显示在屏幕上

def demo():
    app = QApplication(sys.argv)             #PyQt6中的应用程序都必须建立一个应用程序对象
    ex = Add_func()
    sys.exit(app.exec())                     #应用程序的主循环

if __name__ == '__main__':
    demo()





2、实现窗口居中,代码如下:

import sys
from PyQt6.QtWidgets import QApplication,QWidget
class Func_add(QWidget):
    def __init__(self):
        super().__init__()
        self.initUI()
    def initUI(self):
        self.setGeometry(200,200,400,300)
        self.center()
        self.show()

    def center(self):                                   # 将窗口居中的代码写入自定义的center方法中
        qr = self.frameGeometry()                       #得到一个指定主窗口几何形状的矩形
        cp = self.screen().availableGeometry().center() #计算出显示器的分辨率,通过分辨率得出中心点
        qr.moveCenter(cp)                               #设置为屏幕的中心,矩形大小不变
        self.move(qr.topLeft())                         #将应用程序的左上角移动到矩形的左上角,使屏幕在窗口正中
def main():
    app = QApplication(sys.argv)
    ex = Func_add()
    sys.exit(app.exec())
if __name__ == '__main__':
    main()

3、确认框,确认框具备确认和取消按钮:
 

def closeEvent(self, event) -> None:
        reply = QMessageBox.question(self,"信息提示","是否退出",QMessageBox.StandardButton.Yes | QMessageBox.StandardButton.No , QMessageBox.StandardButton.No)
        if reply == QMessageBox.StandardButton.Yes:
            event.accept()
        else:
            event.ignore()

你可能感兴趣的:(python)