为什么 QFrame 边框在左侧和顶部被截断?

问题描述

为什么 qframe 边框在左侧和顶部被截断?如果我将 linewidth 设置得更大,边框就会显示出来。好像只截断了一小部分。

enter image description here

import sys
from PyQt6 import QtWidgets

class Main(QtWidgets.QWidget):

    def __init__(self,parent=None):
        super().__init__(parent)

        self.setwindowTitle("pyQt6 Testing")
        self.setGeometry(0,640,120)

        self.vBox = QtWidgets.QVBoxLayout(self)
        self.vBox.addStretch(1)

        self.hBox = QtWidgets.QHBoxLayout()
        self.hBox.addStretch(1)

        self.sub = Sub("this is left and really much wider than right will ever be and is still needs to be longer",self)

        self.hBox.addWidget(self.sub)
        self.hBox.addStretch(1)
        self.hBox.addWidget(Sub("this is right",self))
        self.hBox.addStretch(1)

        self.vBox.addLayout(self.hBox)
        self.vBox.addStretch(1)


class Sub(QtWidgets.qframe):

    def __init__(self,text,parent=None):
        super().__init__(parent)

        self.setFrameShape(QtWidgets.qframe.Shape.Box)
        self.setFrameShadow(QtWidgets.qframe.Shadow.Plain)
        self.setlinewidth(1)
        self.setMidlinewidth(1)

        self.vBox = QtWidgets.QVBoxLayout(self)

        self.vBox.addWidget(QtWidgets.QLabel(text))
        self.vBox.addWidget(QtWidgets.QLabel(text))
        self.vBox.addWidget(QtWidgets.QLabel(text))
        self.vBox.addWidget(QtWidgets.QPushButton(text))


app = QtWidgets.QApplication(sys.argv)
main = Main()
main.show()
sys.exit(app.exec())

我在 QVBoxLayout 和 QHBoxLayouts 之前、之间和末尾添加一个 QVBoxLayout 和一些拉伸。现在,它会在拉伸窗口时不时显示所有边框。

enter image description here

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)