我的代码创建了一个垂直容器v_box,它是窗口的主容器,并包含一个水平容器h_box,我将它涂成黄色。
该容器h_box包含三个小部件:
- 铭文
label_1, - 按钮
btn, - 铭文
label_2。
铭文被label_1压在左边缘h_box,应始终保留在那里。
铭文被label_2压在右边缘h_box,应始终保留在那里。
该按钮btn现在没有特定位置,我想修复它。下图显示了label_1和-dbtn之间的距离。
我需要为此距离设置一个特定的恒定值(以像素为单位)。请告诉我我该怎么做?
from PyQt5 import QtCore, QtWidgets
class MyWindow(QtWidgets.QWidget):
def __init__(self, parent = None):
super().__init__(parent)
v_box = QtWidgets.QVBoxLayout(self)
box = QtWidgets.QWidget()
box.setStyleSheet(box_qss)
box.setFixedHeight(50)
h_box = QtWidgets.QHBoxLayout(box)
v_box.addWidget(box)
label_1 = QtWidgets.QLabel('label_1')
h_box.addWidget(label_1)
btn = QtWidgets.QPushButton('btn')
btn.setStyleSheet(btn_qss)
btn.setFixedSize(40, 30)
h_box.addWidget(btn, alignment = QtCore.Qt.AlignLeft)
label_2 = QtWidgets.QLabel('label_2')
h_box.addWidget(label_2, alignment = QtCore.Qt.AlignRight)
box_qss = '''QWidget {
background-color: yellow;
border-radius: 5px;
}'''
btn_qss = '''QWidget {
background-color: white;
border-radius: 5px;
}'''
if __name__ == '__main__':
import sys
app = QtWidgets.QApplication(sys.argv)
window = MyWindow()
window.setWindowTitle(' ')
window.show()
sys.exit(app.exec_())

1 个回答