本笔记是 《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