PyQt5 QWidget 添加边框而不影响子控件
在 PyQt5 中,如果需要为 QWidget 添加边框,同时不影响子控件的内容,可以使用 QFrame 作为 QWidget 的子控件,并将 QFrame 的边框样式设置为需要的样式。
以下是一个示例代码:
from PyQt5.QtWidgets import QApplication, QWidget, QVBoxLayout, QFrame, QPushButton
from PyQt5.QtCore import Qt
app = QApplication([])
# 创建父控件
widget = QWidget()
# 创建子控件布局
layout = QVBoxLayout(widget)
# 创建一个 QFrame 作为子控件
frame = QFrame()
frame.setFrameShape(QFrame.Box) # 设置边框形状为 Box
frame.setLineWidth(2) # 设置边框宽度
frame.setStyleSheet('border-color: red;') # 设置边框颜色
# 将子控件添加到布局中
layout.addWidget(frame)
# 创建一个 QPushButton 作为子控件
button = QPushButton('Button')
# 将按钮添加到 QFrame 中
frame.layout().addWidget(button)
widget.show()
app.exec_()
在这个例子中,我们创建了一个 QWidget 作为父控件,并创建了一个 QFrame 作为子控件。我们在 QFrame 上设置了边框样式,并将 QPushButton 添加到 QFrame 中。由于边框样式只应用于 QFrame,所以不会影响到 QPushButton。
希望对你有帮助!
原文地址: https://www.cveoy.top/t/topic/qDxh 著作权归作者所有。请勿转载和采集!