from PyQt5.QtWidgets import *
from PyQt5.QtCore import *
import sys
data = {'dia': 23, 'mes': 8, 'ano': 2017}
class FormConfigBkpBD(QWidget):
senha = None
pathLine = None
def __init__(self, parent=None,instancia=None):
super(FormConfigBkpBD, self).__init__(parent)
mainLayout = QVBoxLayout()
mainLayout.setSpacing(0)
mainLayout.setContentsMargins(0, 0, 0, 0)
self.senha = QLineEdit()
self.senha.setEchoMode(QLineEdit.Password)
self.senha.setFixedSize(385, 25)
self.pathLine = QLineEdit()
self.pathLine.setFixedSize(355,25)
self.senha.setContentsMargins(0,0,0,0)
self.pathLine.setContentsMargins(0,0,0,0)
mainLayout.addWidget(self.pathLine,0,Qt.AlignTop)
mainLayout.addWidget(self.senha,0,Qt.AlignTop)
self.setWindowTitle("Configuração de Backup - Banco de Dados")
self.setFixedSize(460,640)
self.setLayout(mainLayout)
def main():
app = QApplication(sys.argv)
bd = FormConfigBkpBD()
bd.show()
app.exec()
if __name__ == "__main__" :
main()
上面的代码只显示了两个小部件(QLineEdit
),原来的窗口有更多的小部件,这只是用于这里的post。
为什么,即使使用setSpacing(0)
和setContentsMargins(0,0,0,0)
窗口小部件之间也有空间?在
这是因为固定大小的窗口和你使用的布局的结合。垂直布局试图均匀地(除非另有说明)将其所有子级垂直分布并填充整个窗口。在
这里有两个小部件,第一个放入第一个单元格,第二个放入第二个单元格。由于您没有设置任何对齐方式,所以默认行为是存在的,即每个单元格的左上角就是小部件所在的位置。剩下的只是填充布局所属父窗口的空闲空间。在
如果你不想在小部件之间留出空间
或者移除固定大小的窗口
或者在布局中放置更多的小部件,直到它“满”为止。
第一个选项可能不是您想要的(否则您可能不会首先将其设置为固定大小)。第二个可以通过简单地使用^{} (垂直的)来实现,它将为您处理空白空间,并将小部件推到您希望的顶部:
如果需要对其行为进行更多控制,也可以手动添加间隔垫圈:
^{pr2}$相关问题 更多 >
编程相关推荐