微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

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

如何解决为什么 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 举报,一经查实,本站将立刻删除。