Skip to content

Commit b45b43c

Browse files
committed
add window size setting
1 parent cae0d73 commit b45b43c

File tree

4 files changed

+254
-0
lines changed

4 files changed

+254
-0
lines changed

README.md

+2
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,7 @@
11
# PyQt5基础教程(持续更新中。。。)
22

3+
* p33_窗口大小设置 [源码下载](p33_窗口大小设置) [博文地址](https://xugaoxiang.com/2022/10/06/pyqt5-33-window-size-setting/)
4+
35
* p32_主题美化之`qt-material` [源码下载](p32_主题美化qtmaterial) [博文地址](https://xugaoxiang.com/2022/09/23/pyqt5-32-qt-material/)
46

57
* p31_滑动条 [源码下载](p31_滑动条) [博文地址](https://xugaoxiang.com/2022/09/15/pyqt5-31-qslider/)

p33_窗口大小设置/main.py

+36
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,36 @@
1+
import sys
2+
3+
from PyQt5.QtWidgets import QMainWindow, QApplication, QPushButton
4+
5+
from ui import Ui_MainWindow
6+
7+
8+
class MainWindow(QMainWindow, Ui_MainWindow):
9+
10+
def __init__(self, parent=None):
11+
super(MainWindow, self).__init__(parent)
12+
self.setupUi(self)
13+
14+
self.pushButton_min.clicked.connect(self.do_min)
15+
self.pushButton_max.clicked.connect(self.do_max)
16+
self.pushButton_normal.clicked.connect(self.do_normal)
17+
self.pushButton_fullscreen.clicked.connect(self.do_fullscreen)
18+
19+
def do_min(self):
20+
self.showMinimized()
21+
22+
def do_max(self):
23+
self.showMaximized()
24+
25+
def do_normal(self):
26+
self.showNormal()
27+
28+
def do_fullscreen(self):
29+
self.showFullScreen()
30+
31+
32+
if __name__ == '__main__':
33+
app = QApplication(sys.argv)
34+
windows = MainWindow()
35+
windows.show()
36+
sys.exit(app.exec_())

p33_窗口大小设置/project.ui

+128
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,128 @@
1+
<?xml version="1.0" encoding="UTF-8"?>
2+
<ui version="4.0">
3+
<class>MainWindow</class>
4+
<widget class="QMainWindow" name="MainWindow">
5+
<property name="geometry">
6+
<rect>
7+
<x>0</x>
8+
<y>0</y>
9+
<width>800</width>
10+
<height>600</height>
11+
</rect>
12+
</property>
13+
<property name="windowTitle">
14+
<string>窗口大小设置示例</string>
15+
</property>
16+
<widget class="QWidget" name="centralwidget">
17+
<layout class="QGridLayout" name="gridLayout">
18+
<item row="0" column="0">
19+
<layout class="QVBoxLayout" name="verticalLayout">
20+
<property name="spacing">
21+
<number>50</number>
22+
</property>
23+
<property name="sizeConstraint">
24+
<enum>QLayout::SetDefaultConstraint</enum>
25+
</property>
26+
<property name="leftMargin">
27+
<number>300</number>
28+
</property>
29+
<property name="topMargin">
30+
<number>50</number>
31+
</property>
32+
<property name="rightMargin">
33+
<number>300</number>
34+
</property>
35+
<property name="bottomMargin">
36+
<number>50</number>
37+
</property>
38+
<item>
39+
<widget class="QPushButton" name="pushButton_min">
40+
<property name="sizePolicy">
41+
<sizepolicy hsizetype="Expanding" vsizetype="Expanding">
42+
<horstretch>0</horstretch>
43+
<verstretch>0</verstretch>
44+
</sizepolicy>
45+
</property>
46+
<property name="font">
47+
<font>
48+
<pointsize>20</pointsize>
49+
</font>
50+
</property>
51+
<property name="text">
52+
<string>窗口最小化</string>
53+
</property>
54+
</widget>
55+
</item>
56+
<item>
57+
<widget class="QPushButton" name="pushButton_max">
58+
<property name="sizePolicy">
59+
<sizepolicy hsizetype="Expanding" vsizetype="Expanding">
60+
<horstretch>0</horstretch>
61+
<verstretch>0</verstretch>
62+
</sizepolicy>
63+
</property>
64+
<property name="font">
65+
<font>
66+
<pointsize>20</pointsize>
67+
</font>
68+
</property>
69+
<property name="text">
70+
<string>窗口最大化</string>
71+
</property>
72+
</widget>
73+
</item>
74+
<item>
75+
<widget class="QPushButton" name="pushButton_normal">
76+
<property name="sizePolicy">
77+
<sizepolicy hsizetype="Expanding" vsizetype="Expanding">
78+
<horstretch>0</horstretch>
79+
<verstretch>0</verstretch>
80+
</sizepolicy>
81+
</property>
82+
<property name="font">
83+
<font>
84+
<pointsize>20</pointsize>
85+
</font>
86+
</property>
87+
<property name="text">
88+
<string>窗口初始大小</string>
89+
</property>
90+
</widget>
91+
</item>
92+
<item>
93+
<widget class="QPushButton" name="pushButton_fullscreen">
94+
<property name="sizePolicy">
95+
<sizepolicy hsizetype="Expanding" vsizetype="Expanding">
96+
<horstretch>0</horstretch>
97+
<verstretch>0</verstretch>
98+
</sizepolicy>
99+
</property>
100+
<property name="font">
101+
<font>
102+
<pointsize>20</pointsize>
103+
</font>
104+
</property>
105+
<property name="text">
106+
<string>窗口全屏</string>
107+
</property>
108+
</widget>
109+
</item>
110+
</layout>
111+
</item>
112+
</layout>
113+
</widget>
114+
<widget class="QMenuBar" name="menubar">
115+
<property name="geometry">
116+
<rect>
117+
<x>0</x>
118+
<y>0</y>
119+
<width>800</width>
120+
<height>26</height>
121+
</rect>
122+
</property>
123+
</widget>
124+
<widget class="QStatusBar" name="statusbar"/>
125+
</widget>
126+
<resources/>
127+
<connections/>
128+
</ui>

p33_窗口大小设置/ui.py

+88
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,88 @@
1+
# -*- coding: utf-8 -*-
2+
3+
# Form implementation generated from reading ui file '.\project.ui'
4+
#
5+
# Created by: PyQt5 UI code generator 5.9.2
6+
#
7+
# WARNING! All changes made in this file will be lost!
8+
9+
from PyQt5 import QtCore, QtGui, QtWidgets
10+
11+
class Ui_MainWindow(object):
12+
def setupUi(self, MainWindow):
13+
MainWindow.setObjectName("MainWindow")
14+
MainWindow.resize(800, 600)
15+
self.centralwidget = QtWidgets.QWidget(MainWindow)
16+
self.centralwidget.setObjectName("centralwidget")
17+
self.gridLayout = QtWidgets.QGridLayout(self.centralwidget)
18+
self.gridLayout.setObjectName("gridLayout")
19+
self.verticalLayout = QtWidgets.QVBoxLayout()
20+
self.verticalLayout.setSizeConstraint(QtWidgets.QLayout.SetDefaultConstraint)
21+
self.verticalLayout.setContentsMargins(300, 50, 300, 50)
22+
self.verticalLayout.setSpacing(50)
23+
self.verticalLayout.setObjectName("verticalLayout")
24+
self.pushButton_min = QtWidgets.QPushButton(self.centralwidget)
25+
sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Expanding)
26+
sizePolicy.setHorizontalStretch(0)
27+
sizePolicy.setVerticalStretch(0)
28+
sizePolicy.setHeightForWidth(self.pushButton_min.sizePolicy().hasHeightForWidth())
29+
self.pushButton_min.setSizePolicy(sizePolicy)
30+
font = QtGui.QFont()
31+
font.setPointSize(20)
32+
self.pushButton_min.setFont(font)
33+
self.pushButton_min.setObjectName("pushButton_min")
34+
self.verticalLayout.addWidget(self.pushButton_min)
35+
self.pushButton_max = QtWidgets.QPushButton(self.centralwidget)
36+
sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Expanding)
37+
sizePolicy.setHorizontalStretch(0)
38+
sizePolicy.setVerticalStretch(0)
39+
sizePolicy.setHeightForWidth(self.pushButton_max.sizePolicy().hasHeightForWidth())
40+
self.pushButton_max.setSizePolicy(sizePolicy)
41+
font = QtGui.QFont()
42+
font.setPointSize(20)
43+
self.pushButton_max.setFont(font)
44+
self.pushButton_max.setObjectName("pushButton_max")
45+
self.verticalLayout.addWidget(self.pushButton_max)
46+
self.pushButton_normal = QtWidgets.QPushButton(self.centralwidget)
47+
sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Expanding)
48+
sizePolicy.setHorizontalStretch(0)
49+
sizePolicy.setVerticalStretch(0)
50+
sizePolicy.setHeightForWidth(self.pushButton_normal.sizePolicy().hasHeightForWidth())
51+
self.pushButton_normal.setSizePolicy(sizePolicy)
52+
font = QtGui.QFont()
53+
font.setPointSize(20)
54+
self.pushButton_normal.setFont(font)
55+
self.pushButton_normal.setObjectName("pushButton_normal")
56+
self.verticalLayout.addWidget(self.pushButton_normal)
57+
self.pushButton_fullscreen = QtWidgets.QPushButton(self.centralwidget)
58+
sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Expanding)
59+
sizePolicy.setHorizontalStretch(0)
60+
sizePolicy.setVerticalStretch(0)
61+
sizePolicy.setHeightForWidth(self.pushButton_fullscreen.sizePolicy().hasHeightForWidth())
62+
self.pushButton_fullscreen.setSizePolicy(sizePolicy)
63+
font = QtGui.QFont()
64+
font.setPointSize(20)
65+
self.pushButton_fullscreen.setFont(font)
66+
self.pushButton_fullscreen.setObjectName("pushButton_fullscreen")
67+
self.verticalLayout.addWidget(self.pushButton_fullscreen)
68+
self.gridLayout.addLayout(self.verticalLayout, 0, 0, 1, 1)
69+
MainWindow.setCentralWidget(self.centralwidget)
70+
self.menubar = QtWidgets.QMenuBar(MainWindow)
71+
self.menubar.setGeometry(QtCore.QRect(0, 0, 800, 26))
72+
self.menubar.setObjectName("menubar")
73+
MainWindow.setMenuBar(self.menubar)
74+
self.statusbar = QtWidgets.QStatusBar(MainWindow)
75+
self.statusbar.setObjectName("statusbar")
76+
MainWindow.setStatusBar(self.statusbar)
77+
78+
self.retranslateUi(MainWindow)
79+
QtCore.QMetaObject.connectSlotsByName(MainWindow)
80+
81+
def retranslateUi(self, MainWindow):
82+
_translate = QtCore.QCoreApplication.translate
83+
MainWindow.setWindowTitle(_translate("MainWindow", "窗口大小设置示例"))
84+
self.pushButton_min.setText(_translate("MainWindow", "窗口最小化"))
85+
self.pushButton_max.setText(_translate("MainWindow", "窗口最大化"))
86+
self.pushButton_normal.setText(_translate("MainWindow", "窗口初始大小"))
87+
self.pushButton_fullscreen.setText(_translate("MainWindow", "窗口全屏"))
88+

0 commit comments

Comments
 (0)