代码内容1
import sys
from PySide6.QtWidgets import QApplication, QMainWindow, QWidget, QPushButton, QLabel, QHBoxLayout, QVBoxLayout, \
QSplitter
class MainWindow(QMainWindow):
def __init__(self):
super().__init__()
self.setWindowTitle("左右布局示例")
# 设置窗口初始大小
self.resize(800, 600)
# 创建一个水平布局,用于管理左右两部分
hbox = QHBoxLayout()
# 左边部分
left_widget = QWidget()
left_layout = QVBoxLayout() # 左边的垂直布局
button = QPushButton("左边的按钮")
left_layout.addWidget(button)
left_widget.setLayout(left_layout)
hbox.addWidget(left_widget)
# 右边部分
right_widget = QWidget()
right_layout = QVBoxLayout() # 右边的垂直布局
'''label = QLabel("右边的标签")
right_layout.addWidget(label)
right_widget.setLayout(right_layout)
hbox.addWidget(right_widget)'''
button1 = QPushButton("右边的按钮")
right_layout.addWidget(button1)
right_widget.setLayout(right_layout)
hbox.addWidget(right_widget)
# 使用QSplitter可以让两个区域可调整大小
splitter = QSplitter()
splitter.addWidget(left_widget)
splitter.addWidget(right_widget)
self.setCentralWidget(splitter)
splitter.setSizes([400, 400]) # 初始分配左右宽度,可根据需要调整
if __name__ == "__main__":
app = QApplication(sys.argv)
window = MainWindow()
window.show()
sys.exit(app.exec())
代码内容2
from PySide6.QtWidgets import QApplication, QWidget, QPushButton, QHBoxLayout, QVBoxLayout, QLabel, QMainWindow
import sys
class MainWindow(QMainWindow):
def __init__(self):
super().__init__()
self.setWindowTitle("按钮布局示例")
# 设置窗口初始大小
self.resize(800, 600)
# 创建一个水平布局
hbox = QHBoxLayout()
# 创建按钮并添加到布局
button1 = QPushButton("按钮1")
button2 = QPushButton("按钮2")
hbox.addWidget(button1) # 默认添加到左侧
hbox.addWidget(button2) # 默认添加到右侧
# 将布局设置为中心小部件
central_widget = QWidget()
central_widget.setLayout(hbox)
self.setCentralWidget(central_widget)
if __name__ == "__main__":
app = QApplication(sys.argv)
window = MainWindow()
window.show()
sys.exit(app.exec())
运行截图
