1 简单的工程
import sys
from PyQt5.QtCore import *
from PyQt5.QtGui import *
from PyQt5.QtWidgets import *
from PyQt5.QtWebEngineWidgets import *
from windowUI import Ui_MainWindow
class Tool(QMainWindow, Ui_MainWindow):
def __init__(self, *args, **kwargs):
super(Tool, self).__init__(*args, **kwargs)
self.setupUi(self)
self.inintialize()
def inintialize(self):
#self.pushButton.hide()
self.pushButton.clicked.connect(self.EventButtonClicked)
pass
def EventButtonClicked(self):
print("clicked")
def mousePressEvent(self, event):
pos = event.pos()
print(pos.x(), pos.y())
if __name__ == "__main__":
app = QApplication(sys.argv)
win = Tool()
win.show()
sys.exit(app.exec_())
2 空间的缩放因子
在使用布局控件时,里面的控件会跟随发生尺寸的变化,至于是让他们等比例缩放还是让部分控件占满剩余所有控件,就用用到缩放因子的配置。缩放因子是针对 Widget 控件,缩放策略有多种(参考上面的链接),下面示例一种:
obj1.setSizePolicy(QSizePolicy.Expanding, QSizePolicy.Expanding)
3 布局里嵌套布局
在 Layout 中不能直接嵌套 Layout,需要先将子 Layout 转换为 Widget 再添加到父 Layout 中,如:
vLayout1 = QVBoxLayout()
vLayout2 = QVBoxLayout()
hLayout = QHBoxLayout()
vLayout1.addWidget(button1)
vLayout1.addWidget(button2)
vLayout2.addWidget(button3)
vLayout2.addWidget(button4)
widget1 = QWidget()
widget2 = QWidget()
widget1.setLayout(vLayout1)
widget2.setLayout(vLayout2)
hLayout.addWidget(widget1)
hLayout.addWidget(widget2)