用代码控制窗口的最大化和最小化 的案例
'''
用代码控制窗口的最大化和最小化 的案例
'''
import sys
from PyQt5.QtCore import Qt
from PyQt5.QtGui import QIcon
from PyQt5.QtWidgets import QWidget, QLineEdit, QPushButton, QGridLayout, QDialog, QApplication, QMainWindow, \
QVBoxLayout
class WindowMaxMinDemo(QWidget):
def __init__(self):
super().__init__()
self.initUI()
def initUI(self):
# 设置定位和左上角坐标
self.setGeometry(300, 300, 460, 360)
# 设置窗口标题
self.setWindowTitle('用代码控制窗口的最大化和最小化 的演示')
# 设置窗口图标
# self.setWindowIcon(QIcon('../web.ico'))
# self.setWindowFlags(Qt.WindowStaysOnTopHint) # 带最小化 最大化窗口 关闭按钮
# self.setWindowFlags(Qt.WindowMaximizeButtonHint | Qt.WindowStaysOnTopHint) # 带最大化窗口
# self.setWindowFlags(Qt.WindowCloseButtonHint) # 带关闭窗口
# self.setWindowFlags(Qt.WindowMinimizeButtonHint) # 带最小化
# self.setWindowFlags(Qt.WindowStaysOnTopHint | Qt.FramelessWindowHint) # 无边框
self.setObjectName("MainWindow")
self.setStyleSheet("#MainWindow{border-image:url(img.png);}")
layout = QVBoxLayout()
maxButton1 = QPushButton()
maxButton1.setText('窗口最大化1')
maxButton1.clicked.connect(self.maximized1)
maxButton2 = QPushButton()
maxButton2.setText('窗口最大化2')
maxButton2.clicked.connect(self.showMaximized)
minButton = QPushButton()
minButton.setText('窗口最小化')
minButton.clicked.connect(self.showMinimized)
layout.addWidget(maxButton1)
layout.addWidget(maxButton2)
layout.addWidget(minButton)
self.setLayout(layout)
def maximized1(self):
desktop = QApplication.desktop()
# 获取桌面可用尺寸
rect = desktop.availableGeometry()
self.setGeometry(rect)
if __name__ == '__main__':
app = QApplication(sys.argv)
# 设置应用图标
app.setWindowIcon(QIcon('../web.ico'))
w = WindowMaxMinDemo()
w.show()
sys.exit(app.exec_())