簡體   English   中英

網格中的 Python PyQt 小部件定位

[英]Python PyQt widget positioning in grid

這是我的代碼:

#class...
def setupLayout(self):
    self.resize(1000, 600)
    label1 = QtGui.QLabel(u'<font color=green><b><i>Полученные сообщения:</i></b></font>')
    label2 = QtGui.QLabel(u'<font color=green><b><i>Описание сообщений:</i></b></font>')

    self.mainList = QtGui.QListWidget()
    self.descList = QtGui.QListWidget()
   
    grid = QtGui.QGridLayout()
    grid.setSpacing(1)
    
    grid.addWidget(label1, 1, 1)
    grid.addWidget(label2, 1, 2)
  
    grid.addWidget(self.mainList, 2, 1, 5, 1)
    grid.addWidget(self.descList, 2, 2, 5, 1)
#other definitions....

我想用窗口標題減少標簽和面板之間的距離:網格布局問題

因此,如果我使用此代碼,距離很好,但 listBoxes 僅包含一行:

grid.addWidget(self.mainList, 2, 1, 1, 1)
grid.addWidget(self.descList, 2, 2, 1, 1)

在此處輸入圖片說明

如何添加一個小的距離?

我傾向於使用QGridLayout來處理同類內容。 為了您的目的, QHBoxLayoutQVBoxLayout的組合會更好地工作。

left = QtGui.QVBoxLayout()
# This makes the label take as little space as possible
# since QLabel's sizeHint is Minimum.
left.addWidget(label1, 0)
left.addWidget(self.mainList, 1)

right = QtGui.QVBoxLayout()
right.addWidget(label2, 0)
right.addWidget(self.descList, 1)

main = QtGui.QHBoxLayout()
main.addLayout(left, 1)    # Both sides take the same amount of space.
main.addLayout(right, 1)

演示

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM