python3 + PyQt + pycharm 学习笔记

本文档详细介绍了PyQt5中主窗口控件的使用方法,包括如何创建和设置主窗口、如何将窗口置于屏幕中央,以及如何实现窗口的关闭功能。通过具体代码实例,展示了QMainWindow的基本操作,为初学者提供了实践指导。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

 

本笔记是 《PyQt快速开发与实战》的学习记录

 

第四章 PyQt5 基本窗口控件

4.1 QMain Window 

 

# -*- coding: utf-8 -*- 

'''
    【简介】
	PyQT5中主窗口例子
  
  
'''

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

class MainWidget(QMainWindow):
	def __init__(self,parent=None):
		super(MainWidget,self).__init__(parent)
        # 设置主窗体标签
		self.setWindowTitle("QMainWindow 例子")         
		self.resize(400, 200) 
		self.status = self.statusBar()
		self.status.showMessage("这是状态栏提示",5000)  #这个状态栏显示5 是消失


if __name__ == "__main__": 
	app = QApplication(sys.argv)
	app.setWindowIcon(QIcon("./images/cartoon1.ico"))
	main = MainWidget()
	main.show()
	sys.exit(app.exec_())

 

# -*- coding: utf-8 -*-

'''
    【简介】
	PyQT5将窗口放在屏幕中间例子
    
'''

from PyQt5.QtWidgets import QDesktopWidget, QApplication ,QMainWindow
import sys  
    
class Winform( QMainWindow): 
    
    def __init__(self, parent=None):
        super( Winform, self).__init__(parent)
          
        self.setWindowTitle('主窗口放在屏幕中间例子')  
        self.resize(370,  250)   #设置窗口大小 宽度是370 高度是 250像素
        self.center()  
          
    def center(self):  
        screen = QDesktopWidget().screenGeometry()  
#用来获取计算屏幕大小 (screen.width() * screen.height()) ,QDesktopWidget是描述显示屏幕的类                                                         
        size = self.geometry() #用来获取QWidget()窗口的大小 即:size.width .height        
        self.move((screen.width() - size.width()) / 2,  (screen.height() - size.height()) / 2)  #将窗口移动到屏幕中间
  
if __name__ == "__main__": 
    app = QApplication(sys.argv)   
    win = Winform()  
    win.show()  
    sys.exit(app.exec_())  

 

 

# -*- coding: utf-8 -*- 
'''
    【简介】
    PyQT5中关闭窗体例子
 
  
'''

from PyQt5.QtWidgets import QMainWindow, QHBoxLayout, QPushButton, QApplication, QWidget
import sys

class WinForm(QMainWindow):

    def __init__(self, parent=None):
        super(WinForm, self).__init__(parent)
        self.resize(330, 100)
        self.setWindowTitle('关闭主窗口例子')
        self.button1 = QPushButton('关闭主窗口')
        self.button1.clicked.connect(self.onButtonClick) 
#将按钮的clicked 信号与 onButtonClick 槽函数关联起来 槽函数 获得QAPPlication 类的对象
#可以调用 它的 quit()函数来关闭窗口,函数槽里可以获得发送信号的对象“关闭主窗口”
        layout = QHBoxLayout()
        layout.addWidget(self.button1)

        main_frame = QWidget()
        main_frame.setLayout(layout)
        self.setCentralWidget(main_frame)

    def onButtonClick(self):
        # sender 是发送信号的对象,此处发送信号的对象是button1按钮
        sender = self.sender()
        print(sender.text() + ' 被按下了')
        qApp = QApplication.instance()
        qApp.quit()  #关闭窗口


if __name__ == "__main__":
    app = QApplication(sys.argv)
    form = WinForm()
    form.show()
    sys.exit(app.exec_())

 

4.2

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值