QSplitter 是 PyQt6 中用于创建可调整大小的分割窗口的控件,允许用户通过拖动分隔条来调整子部件的大小比例。
实现如下的效果.
实现的代码
from PyQt6.QtCore import Qt
from PyQt6.QtWidgets import QApplication, QWidget, QSplitter, QScrollArea, QLabel, QHBoxLayout
import sys
from PyQt6.QtGui import QPixmap
class MainWindows(QWidget):
def __init__(self, *args, **kwargs):
super().__init__(*args, **kwargs)
self.ui()
def ui(self):
self.setWindowTitle("QSplit测试")
self.show()
self.resize(1200, 400)
self.splitter = QSplitter()
self.score1 = QScrollArea()
self.score2 = QScrollArea()
self.score3 = QScrollArea()
self.label1 = QLabel()
self.label2 = QLabel()
self.label3 = QLabel()
# 添加图片
self.label1.setPixmap(
QPixmap("/Users/wangjien/PycharmProjects/pythonGit/PyQt6学习/2_书籍学习/2_2_控件/Qsplitter_test/mei1.jpeg"))
self.score1.setWidget(self.label1)
self.label2.setPixmap(
QPixmap("/Users/wangjien/PycharmProjects/pythonGit/PyQt6学习/2_书籍学习/2_2_控件/Qsplitter_test/mei2.jpeg"))
self.score2.setWidget(self.label2)
self.label3.setPixmap(
QPixmap("/Users/wangjien/PycharmProjects/pythonGit/PyQt6学习/2_书籍学习/2_2_控件/Qsplitter_test/mei3.jpg"))
self.score3.setWidget(self.label3)
# 将布局添加到
self.splitter.addWidget(self.score1)
self.splitter.addWidget(self.score2)
self.splitter.addWidget(self.score3)
self.splitter.setSizes([200, 200, 200])
self.splitter.setOpaqueResize(True)
h_layout = QHBoxLayout()
h_layout.addWidget(self.splitter)
self.setLayout(h_layout)
if __name__ == '__main__':
app = QApplication(sys.argv)
w = MainWindows()
sys.exit(app.exec())