我的想法是在QtGui MainWindow
中显示一个密码输入框。在执行密码检查之后,它将调用程序来显示其余的按钮。我希望我的密码输入框是这样的
这是我的代码:
class MainWindow(QtGui.QMainWindow):
def __init__(self,parent = None):
super(MainWindow,self).__init__(parent)
self.CheckPassword()
def CheckPassword(self):
username_label = QtGui.QLabel("Username :")
password_label = QtGui.QLabel("Password :")
_username = QtGui.QLineEdit()
_password = QtGui.QLineEdit()
password_layout = QtGui.QGridLayout()
password_layout.addWidget(username_label,1,0)
password_layout.addWidget(password_label,2,0)
password_layout.addWidget(_username,1,1)
password_layout.addWidget(_password,2,1)
password_widget = QtGui.QWidget()
password_widget.setLayout(password_layout)
self.setCentralWidget(password_widget)
我的问题是,由于我将小部件设置为centralwidget
,它会像窗口一样展开。
所以我试图设置usesetMaximumSize
,但在这种情况下,我似乎无法将小部件定位在MainWindow
的中心。
如何为密码输入设置QWidget的大小,并将其定位为始终居中,无论主窗口大小如何?
这是
QFormLayout
的典型使用场景。你不应该使用网格布局。可以通过设置行和列拉伸来完成此操作。将小部件移动到网格的中心,在两侧保留一行和一列,然后为这些列设置拉伸因子。
网格的可视化示例
代码:
相关问题 更多 >
编程相关推荐