python pyqt5 窗体自适应_Pyqt5自适应布局实例
在pyqt5中要做到自適應布局,必須應用Layout類
下面列出類似于 html 中 float 功能的布局方法:
實現原理:PyQt5中的布局中,stretch 屬性類似于一個可自適應的空白布局。會盡可能將周圍的組件布局向外擠壓
from PyQt5.QtWidgets import QVBoxLayout, QHBoxLayout
# 垂直居中
def vcenter_layout(*widgets):
vbox = QVBoxLayout()
vbox.addStretch()
for widget in widgets:
vbox.addWidget(widget)
vbox.addStretch()
return vbox
# 水平居中
def hcenter_layout(*widgets):
hbox = QHBoxLayout()
hbox.addStretch()
for widget in widgets:
hbox.addWidget(widget)
hbox.addStretch()
return hbox
# 垂直水平居中
def center_layout(widget):
hbox = QHBoxLayout()
hbox.addStretch()
hbox.addWidget(widget)
hbox.addStretch()
vbox = QVBoxLayout()
vbox.addStretch()
vbox.addLayout(hbox)
vbox.addStretch()
return vbox
# 居左
def left_layout(*widgets):
hbox = QHBoxLayout()
for widget in widgets:
hbox.addWidget(widget)
hbox.addStretch()
return hbox
# 居右
def right_layout(*widgets):
hbox = QHBoxLayout()
hbox.addStretch()
for widget in widgets:
hbox.addWidget(widget)
return hbox
# 向上靠齊
def top_layout(*widgets):
vbox = QVBoxLayout()
for widget in widgets:
vbox.addWidget(widget)
vbox.addStretch()
return vbox
# 向下靠齊
def bottom_layout(*widgets):
vbox = QVBoxLayout()
vbox.addStretch()
for widget in widgets:
vbox.addWidget(widget)
return vbox
# 正常垂直分布
def v_layout(*widgets):
vbox = QVBoxLayout()
for widget in widgets:
vbox.addWidget(widget)
return vbox
# 正常垂直分布
def h_layout(*widgets):
vbox = QHBoxLayout()
for widget in widgets:
vbox.addWidget(widget)
return vbox
基本上,大的布局通過上面的方法即可實現,細節可能還需要調整 margin 或者 spacing
以上這篇Pyqt5自適應布局實例就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支持腳本之家。
與50位技術專家面對面20年技術見證,附贈技術全景圖總結
以上是生活随笔為你收集整理的python pyqt5 窗体自适应_Pyqt5自适应布局实例的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 共享内存 传一个类指针_共享内存介绍:S
- 下一篇: 八皇后问题python实现_八皇后问题的