[python]PyQt5-手写窗口(状态栏,屏幕边框,图标等)


import sys
from PyQt5.QtWidgets import QMainWindow,QApplication
from PyQt5.QtGui import QIcon

class FirstMainWin(QMainWindow):
    def __init__(self, parent=None):
        super(FirstMainWin,self).__init__(parent)
        # 设置主窗口的标题
        self.setWindowTitle("第一个主窗口应用")
        
        # 设置尺寸
        self.resize(400,300)

        # 获得状态栏
        self.status = self.statusBar()
        # 状态栏显示消息,
        self.status.showMessage("只存在5s的提示,大家好呀",5000)

if __name__ == "__main__":
    app = QApplication(sys.argv)
    # 导入图标
    app.setWindowIcon(QIcon("./image/lou.ico"))
    main = FirstMainWin()
    # 显示窗口
    main.show() 
    # 建立循环
    sys.exit(app.exec_())

 

 

 


import sys
from PyQt5.QtWidgets import QDesktopWidget,QMainWindow,QApplication
from PyQt5.QtGui import QIcon

class FirstMainWin(QMainWindow):
    def __init__(self, parent=None):
        super(FirstMainWin,self).__init__(parent)
        # 设置主窗口的标题
        self.setWindowTitle("第一个主窗口应用")
        
        # 设置尺寸
        self.resize(400,300)

        # 获得状态栏
        self.status = self.statusBar()
        # 状态栏显示消息,
        self.status.showMessage("只存在5s的提示,大家好呀",5000)
    def centet(self):
        # 获取屏幕尺寸
        screen = QDesktopWidget().screenGeometry()
        # 获取窗口尺寸
        size = self.geometry()
        # 由于移动窗口是移动左上角那个店,所以屏幕尺寸减去窗口尺寸除以二就
        # 是左上角点的坐标了。
        newLeft = (screen.width()-size.width())/2
        newTop = (screen.height()-size.height())/2
        self.move(newLeft,newTop)
        # 下面个输出是为了判断方法是否被调用,我看的教学视频
        # 里,他就写了方法,没有去调用方法
        # print(newLeft,newTop)

if __name__ == "__main__":
    app = QApplication(sys.argv)
    # 导入图标
    app.setWindowIcon(QIcon("./image/lou.ico"))
    main = FirstMainWin()
    # 调用居中方法
    main.centet()
    # 显示窗口
    main.show() 
    # 建立循环
    sys.exit(app.exec_())

新增了窗口居中


 

优化了格式

import sys
from PyQt5.QtWidgets import QDesktopWidget,QMainWindow,QApplication
from PyQt5.QtGui import QIcon

class FirstMainWin(QMainWindow):
    def __init__(self, parent=None):
        super(FirstMainWin,self).__init__(parent)
        self.initUI()
        self.centet()
       

    def initUI(self):
        self.setWindowTitle("第一个主窗口应用")
        self.setGeometry(600,600,600,600)
        self.status = self.statusBar()
        self.setWindowIcon(QIcon("./image/lou.ico"))

    def centet(self):
        # 获取屏幕尺寸
        screen = QDesktopWidget().screenGeometry()
        # 获取窗口尺寸
        size = self.geometry()
        # 由于移动窗口是移动左上角那个店,所以屏幕尺寸减去窗口尺寸除以二就
        # 是左上角点的坐标了。
        newLeft = (screen.width()-size.width())/2
        newTop = (screen.height()-size.height())/2
        self.move(newLeft,newTop)
        # 下面个输出是为了判断方法是否被调用,我看的教学视频
        # 里,他就写了方法,没有去调用方法
        # print(newLeft,newTop)

if __name__ == "__main__":
    app = QApplication(sys.argv)
    # 导入图标
    # # app.setWindowIcon(QIcon("./image/lou.ico"))
   
    # # 调用居中方法
    # main.centet()
    main = FirstMainWin()
    # 显示窗口
    main.show() 
    # 建立循环
    sys.exit(app.exec_())

 

 


 


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM