Python 2.7 如何使用pyqt4调整布局之间的间距

Python 2.7 如何使用pyqt4调整布局之间的间距,python-2.7,pyqt4,Python 2.7,Pyqt4,这是我的代码,我想减少版面之间的空间。谁能告诉我如何减少版面之间的空间。我尝试了许多使用addStrech方法和设置内容边距的方法。但是我没有得到正确的输出。我不知道我哪里出错了。请指导我。先谢谢你。 下面是我的代码: class Example1(QtGui.QWidget): def __init__(self,typ): super(Example1, self).__init__() self.initUI() def initUI(s

这是我的代码,我想减少版面之间的空间。谁能告诉我如何减少版面之间的空间。我尝试了许多使用addStrech方法和设置内容边距的方法。但是我没有得到正确的输出。我不知道我哪里出错了。请指导我。先谢谢你。 下面是我的代码:

class Example1(QtGui.QWidget):

    def __init__(self,typ):
        super(Example1, self).__init__()
        self.initUI()

    def initUI(self):

        self.grid2 = QtGui.QGridLayout()
        self.vbox1 = QtGui.QVBoxLayout()

        self.hbox3 = QtGui.QHBoxLayout()

        self.alignvbox = QtGui.QVBoxLayout()

        self.label = QtGui.QLabel("Payment Details")
        self.label.setStyleSheet("font: bold 30pt Comic Sans MS")
        self.hbox3.addWidget(self.label,QtCore.Qt.AlignTop)
        self.hbox3.addStretch()
        self.label2 = QtGui.QLabel("Amount : ")

        self.label2.setStyleSheet("font: bold 15pt Comic Sans MS")
        self.label3 = QtGui.QLabel("Quantity : ")
        self.label3.setStyleSheet("font: bold 15pt Comic Sans MS")
        self.amountvbox = QtGui.QVBoxLayout()
        self.amountvbox.setContentsMargins(0, 0, 0, 0)
        self.amountvbox.addWidget(self.label2)
        self.quantityvbox = QtGui.QVBoxLayout()
        self.quantityvbox.setContentsMargins(0, 0, 0, 0)
        self.quantityvbox.addWidget(self.label3)
        self.vbox1.addLayout(self.amountvbox)
        self.vbox1.addLayout(self.quantityvbox)

        self.hbox3.addLayout(self.vbox1,QtCore.Qt.AlignTop)

        self.alignvbox.addLayout(self.hbox3,QtCore.Qt.AlignTop)
        self.hbox4 = QtGui.QHBoxLayout()
        self.wbtn1 = QtGui.QPushButton("CASH")
        self.wbtn1.setStyleSheet(ROUNDED_STYLE_SHEET2)
        self.hbox4.addWidget(self.wbtn1)

        self.wbtn2 = QtGui.QPushButton("CARD")
        self.wbtn2.setStyleSheet(ROUNDED_STYLE_SHEET3)
        self.hbox4.addWidget(self.wbtn2)

        self.wbtn3 = QtGui.QPushButton("WALLET")
        self.wbtn3.setStyleSheet(ROUNDED_STYLE_SHEET4)
        self.hbox4.addWidget(self.wbtn3)
        self.alignvbox.addLayout(self.hbox4,QtCore.Qt.AlignTop)
        self.alignvbox.addStretch()

        self.vbox2 = QtGui.QVBoxLayout()

        self.label4 = QtGui.QLabel("Received Amount")
        self.vbox2.addWidget(self.label4)
        self.label4.setStyleSheet("font: bold 30pt Comic Sans MS")
        self.lb = QtGui.QLCDNumber()
        self.lb.setDigitCount(8)
        self.vbox2.addWidget(self.lb)
        self.vbox2.setAlignment(QtCore.Qt.AlignTop)
        self.hboxlayout = QtGui.QHBoxLayout()

        self.hboxlayout.addLayout(self.vbox2)
        self.hboxlayout.addStretch()
        self.layout = QtGui.QGridLayout()

        names = ['7', '8', '9',
                 '4', '5', '6',
                '1', '2', '3',
                 '<--', '0', '.']

        positions = [(i,j) for i in range(4) for j in range(3)]

        for position, name in zip(positions, names):
            button = QtGui.QPushButton(name)
            self.layout.addWidget(button, *position)
        self.hboxlayout.addLayout(self.layout)
        self.alignvbox.addLayout(self.hboxlayout)
        self.setLayout(self.alignvbox)
def main():
  app = QtGui.QApplication(sys.argv)
  ex = Example1()
  ex.show()
  ex.setGeometry(300,300,500,500)
  sys.exit(app.exec_())
类示例1(QtGui.QWidget):
定义初始(自我,典型):
超级(示例1,self)。\uuuuu init\uuuuuu()
self.initUI()
def initUI(self):
self.grid2=QtGui.QGridLayout()
self.vbox1=QtGui.QVBoxLayout()
self.hbox3=QtGui.QHBoxLayout()
self.alignvbox=QtGui.QVBoxLayout()
self.label=QtGui.QLabel(“付款明细”)
self.label.setStyleSheet(“字体:粗体30pt连环漫画Sans MS”)
self.hbox3.addWidget(self.label,QtCore.Qt.AlignTop)
self.hbox3.addStretch()
self.label2=QtGui.QLabel(“金额:”)
self.label2.setStyleSheet(“字体:粗体15pt Comic Sans MS”)
self.label3=QtGui.QLabel(“数量:”)
self.label3.setStyleSheet(“字体:粗体15pt Comic Sans MS”)
self.amountvbox=QtGui.QVBoxLayout()
self.amountvbox.setContentsMargins(0,0,0,0)
self.amountvbox.addWidget(self.label2)
self.quantityvbox=QtGui.QVBoxLayout()
self.quantityvbox.setContentsMargins(0,0,0,0)
self.quantityvbox.addWidget(self.label3)
self.vbox1.addLayout(self.amountvbox)
self.vbox1.addLayout(self.quantityvbox)
self.hbox3.addLayout(self.vbox1,QtCore.Qt.AlignTop)
self.alignvbox.addLayout(self.hbox3,QtCore.Qt.AlignTop)
self.hbox4=QtGui.QHBoxLayout()
self.wbtn1=QtGui.QPushButton(“现金”)
self.wbtn1.setStyleSheet(圆形样式表2)
self.hbox4.addWidget(self.wbtn1)
self.wbtn2=QtGui.QPushButton(“卡”)
self.wbtn2.setStyleSheet(圆形样式表3)
self.hbox4.addWidget(self.wbtn2)
self.wbtn3=QtGui.QPushButton(“钱包”)
self.wbtn3.setStyleSheet(圆形样式表4)
self.hbox4.addWidget(self.wbtn3)
self.alignvbox.addLayout(self.hbox4,QtCore.Qt.AlignTop)
self.alignvbox.addStretch()
self.vbox2=QtGui.QVBoxLayout()
self.label4=QtGui.QLabel(“收到的金额”)
self.vbox2.addWidget(self.label4)
self.label4.setStyleSheet(“字体:粗体30pt漫画版,无MS”)
self.lb=QtGui.QLCDNumber()
self.lb.setDigitCount(8)
self.vbox2.addWidget(self.lb)
self.vbox2.setAlignment(QtCore.Qt.AlignTop)
self.hboxlayout=QtGui.QHBoxLayout()
self.hboxlayout.addLayout(self.vbox2)
self.hboxlayout.addStretch()文件
self.layout=QtGui.QGridLayout()
名称=['7','8','9',',
'4', '5', '6',
'1', '2', '3',

“一种可能的解决方案是在设置布局后将sizeHint设置为固定大小

import sys
from PyQt4 import QtCore, QtGui

QSS = '''
QLabel#big{
    font: bold 30pt Comic Sans MS
}
QLabel#small{
    font: bold 15pt Comic Sans MS
}
'''

class Example1(QtGui.QWidget):
    def __init__(self, parent=None):
        super(Example1, self).__init__(parent)
        self.initUI()

    def initUI(self):
        grid = QtGui.QGridLayout(self)
        label_payment = QtGui.QLabel("Payment Details", objectName="big")
        label_received = QtGui.QLabel("Received Amount", objectName="big")

        label_amount = QtGui.QLabel("Amount: 192", objectName="small")
        label_quantity = QtGui.QLabel("Quantity: 1", objectName="small")

        cash_button = QtGui.QPushButton("Cash")
        card_button = QtGui.QPushButton("Card")
        wallet_button = QtGui.QPushButton("Wallet")

        lcd = QtGui.QLCDNumber()
        sp = lcd.sizePolicy()
        sp.setHorizontalPolicy(QtGui.QSizePolicy.Fixed)
        lcd.setSizePolicy(sp)

        grid_buttons = QtGui.QGridLayout()

        names = ['7', '8', '9',
                 '4', '5', '6',
                '1', '2', '3',
                 '<--', '0', '.']
        positions = [(i,j) for i in range(4) for j in range(3)]
        for position, name in zip(positions, names):
            button = QtGui.QPushButton(name)
            grid_buttons.addWidget(button, *position)

        grid.addWidget(label_payment, 0, 0, 2, 3)
        grid.addWidget(label_amount, 0, 5)
        grid.addWidget(label_quantity, 1, 5)

        hbox = QtGui.QHBoxLayout(spacing=0)
        hbox.setContentsMargins(0, 0, 0, 0)
        hbox.addWidget(cash_button)
        hbox.addWidget(card_button)
        hbox.addWidget(wallet_button)
        grid.addLayout(hbox, 3, 0, 1, 6)

        vbox = QtGui.QVBoxLayout(spacing=0)
        vbox.setContentsMargins(0, 0, 0, 0)
        vbox.addWidget(label_received)
        vbox.addWidget(lcd)
        grid.addLayout(vbox, 4, 1)

        grid.addLayout(grid_buttons, 4, 3, 4, 3)
        self.setFixedSize(self.sizeHint())

def main():
    app = QtGui.QApplication(sys.argv)
    app.setStyleSheet(QSS)
    ex = Example1()
    ex.show()
    ex.setGeometry(300,300,500,500)
    sys.exit(app.exec_())

if __name__ == '__main__': main()
导入系统 从PyQt4导入QtCore、QtGui QSS='' QLabel#大{ 字体:粗体30磅漫画无MS } QLabel#小型{ 字体:粗体15pt漫画无MS } ''' 类示例1(QtGui.QWidget): def uuu init uuu(self,parent=None): 超级(示例1,self)。\uuuu init\uuuu(父级) self.initUI() def initUI(self): grid=QtGui.QGridLayout(self) label_payment=QtGui.QLabel(“付款详细信息”,objectName=“big”) label_received=QtGui.QLabel(“接收金额”,objectName=“大”) label_amount=QtGui.QLabel(“amount:192”,objectName=“small”) label_quantity=QtGui.QLabel(“数量:1”,objectName=“小”) 现金按钮=QtGui.QPushButton(“现金”) 卡片按钮=QtGui.QPushButton(“卡片”) 钱包按钮=QtGui.QPushButton(“钱包”) lcd=QtGui.QLCDNumber() sp=lcd.sizePolicy() sp.setHorizontalPolicy(QtGui.QSizePolicy.Fixed) lcd.setSizePolicy(sp) grid_buttons=QtGui.QGridLayout() 名称=['7','8','9',', '4', '5', '6', '1', '2', '3',
“一种可能的解决方案是在设置布局后将sizeHint设置为固定大小

import sys
from PyQt4 import QtCore, QtGui

QSS = '''
QLabel#big{
    font: bold 30pt Comic Sans MS
}
QLabel#small{
    font: bold 15pt Comic Sans MS
}
'''

class Example1(QtGui.QWidget):
    def __init__(self, parent=None):
        super(Example1, self).__init__(parent)
        self.initUI()

    def initUI(self):
        grid = QtGui.QGridLayout(self)
        label_payment = QtGui.QLabel("Payment Details", objectName="big")
        label_received = QtGui.QLabel("Received Amount", objectName="big")

        label_amount = QtGui.QLabel("Amount: 192", objectName="small")
        label_quantity = QtGui.QLabel("Quantity: 1", objectName="small")

        cash_button = QtGui.QPushButton("Cash")
        card_button = QtGui.QPushButton("Card")
        wallet_button = QtGui.QPushButton("Wallet")

        lcd = QtGui.QLCDNumber()
        sp = lcd.sizePolicy()
        sp.setHorizontalPolicy(QtGui.QSizePolicy.Fixed)
        lcd.setSizePolicy(sp)

        grid_buttons = QtGui.QGridLayout()

        names = ['7', '8', '9',
                 '4', '5', '6',
                '1', '2', '3',
                 '<--', '0', '.']
        positions = [(i,j) for i in range(4) for j in range(3)]
        for position, name in zip(positions, names):
            button = QtGui.QPushButton(name)
            grid_buttons.addWidget(button, *position)

        grid.addWidget(label_payment, 0, 0, 2, 3)
        grid.addWidget(label_amount, 0, 5)
        grid.addWidget(label_quantity, 1, 5)

        hbox = QtGui.QHBoxLayout(spacing=0)
        hbox.setContentsMargins(0, 0, 0, 0)
        hbox.addWidget(cash_button)
        hbox.addWidget(card_button)
        hbox.addWidget(wallet_button)
        grid.addLayout(hbox, 3, 0, 1, 6)

        vbox = QtGui.QVBoxLayout(spacing=0)
        vbox.setContentsMargins(0, 0, 0, 0)
        vbox.addWidget(label_received)
        vbox.addWidget(lcd)
        grid.addLayout(vbox, 4, 1)

        grid.addLayout(grid_buttons, 4, 3, 4, 3)
        self.setFixedSize(self.sizeHint())

def main():
    app = QtGui.QApplication(sys.argv)
    app.setStyleSheet(QSS)
    ex = Example1()
    ex.show()
    ex.setGeometry(300,300,500,500)
    sys.exit(app.exec_())

if __name__ == '__main__': main()
导入系统 从PyQt4导入QtCore、QtGui QSS='' QLabel#大{ 字体:粗体30磅漫画无MS } QLabel#小型{ 字体:粗体15pt漫画无MS } ''' 类示例1(QtGui.QWidget): def uuu init uuu(self,parent=None): 超级(示例1,self)。\uuuu init\uuuu(父级) self.initUI() def initUI(self): grid=QtGui.QGridLayout(self) label_payment=QtGui.QLabel(“付款详细信息”,objectName=“big”) label_received=QtGui.QLabel(“接收金额”,objectName=“大”) label_amount=QtGui.QLabel(“amount:192”,objectName=“small”) label_quantity=QtGui.QLabel(“数量:1”,objectName=“小”) 现金按钮=QtGui.QPushButton(“现金”) 卡片按钮=QtGui.QPushButton(“卡片”) 钱包按钮=QtGui.QPushButton(“钱包”) lcd=QtGui.QLCDNumber() sp=lcd.sizePolicy() sp.setHorizontalPolicy(QtGui.QSizePolicy.Fixed) lcd.setSizePolicy(sp) grid_buttons=QtGui.QGridLayout() 名称=['7','8','9',', '4', '5', '6', '1', '2', '3',
'你的意思是什么?可能图像有助于垂直框对齐sir为什么删除图像?是的,先生,我想做与链接中相同的事情,仅限哪些空格?可能图像有助于垂直框对齐sir为什么删除图像?是的,先生,我想做与链接中相同的事情,仅限sir是否有其他方法来减少e布局之间的空间,因为当我扩展小部件的全尺寸时,它在布局中显示的空间越多Sir是否有其他方法来减少布局之间的空间,因为当我扩展小部件的全尺寸时,它在布局中显示的空间越多