【问题标题】:How to achieve no gap between QLineEdit and QLineEdit in pyqt如何在pyqt中实现QLineEdit和QLineEdit之间没有间隙
【发布时间】:2020-06-12 12:11:51
【问题描述】:

在这种情况下,我添加了两个具有水平布局的 QLineEdit。 QLineEdit 的样式设置为仅上下边框。但是两个 qlabels 的顶部和底部边框之间有一个间隙。如何让两个 QLineEdits 的上下边框没有间隙?

import sys
from PyQt4 import QtGui


class Edit(QtGui.QLineEdit):
    def __init__(self, text):
        super(Edit, self).__init__()
        self.setText(text)
        self.setFixedSize(200, 40)
        self.setStyleSheet("""*{border-width: 1px;
                                    border-style: solid;
                                    border-color: red;
                                    border-left:none;
                                    border-right:none;
                                    margin:0px;
                                    padding:0px;
                                    }""")


class Example(QtGui.QWidget):

    def __init__(self):
        super(Example, self).__init__()

        self.initUI()

    def initUI(self):
        h = QtGui.QHBoxLayout()
        a = Edit("Hello World")
        b = Edit("Hello World")
        h.addWidget(a)
        h.addWidget(b)
        h.setContentsMargins(0, 0, 0, 0)
        h.addStretch(1)
        self.setLayout(h)
        self.setGeometry(100, 100, 500, 500)
        self.show()


def main():
    app = QtGui.QApplication(sys.argv)
    ex = Example()
    sys.exit(app.exec_())


if __name__ == '__main__':
    main()

【问题讨论】:

  • 你可以展示你得到什么和你想得到什么的图像,以便了解你
  • 您已将编辑框设置为高度 40。减少这将减少差距 - 这就是您要找的吗?您可以删除 setFixedSize 语句。

标签: python pyqt pyqt4


【解决方案1】:

如果我理解的话,您想有效地使您的编辑小部件看起来像一个没有间隙的小部件吗?

您的QHBoxLayout 有一个默认间距值,用于在小部件之间添加间隙。您正在清除 contentsMargins(布局边缘周围使用的边距空间),但小部件之间的间距仍将由您当前的样式决定。

添加setSpacing(0) 将其清除:

def initUI(self):
    h = QtGui.QHBoxLayout()
    a = Edit("Hello World")
    b = Edit("Hello World")
    h.addWidget(a)
    h.addWidget(b)
    h.setContentsMargins(0, 0, 0, 0)
    h.setSpacing(0)
    h.addStretch(1)
    self.setLayout(h)
    self.setGeometry(100, 100, 500, 500)
    self.show()

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2014-04-19
    • 1970-01-01
    • 1970-01-01
    • 2016-01-03
    • 1970-01-01
    • 1970-01-01
    • 2016-07-17
    • 2017-03-19
    相关资源
    最近更新 更多