【问题标题】:How can I center a label in the center of a QWizardPage?如何将标签居中在 QWizardPage 的中心?
【发布时间】:2015-05-12 00:11:43
【问题描述】:

我有一个标签:

self.label = QtLabel(self)

位于 VBoxLayout 内部。

无论窗口大小如何,我都想将其设置在 QWizardPage 的中心。我设法让它水平居中:

self.label.setAlignment(QtCore.Qt.AlignCenter)  

但我似乎也无法让它垂直居中。我试过了

self.label.setAlignment(QtCore.Qt.AlignVCenter)

和:

self.label.setAlignment(QtCore.Qt.AlignCenter | AlignVCenter)  

还有一些我现在不记得的其他事情(如果我记得,我会编辑)。阅读this answer 后,问题似乎与设置最小和最大尺寸有关。我试过了,将 MinimumHeight 和 MaximumHeight 设置为 200。这大致使标签居中,但它不适应窗口高度的变化,只适应它的宽度。

我怎样才能让这个标签直接在我的页面中间居中?

【问题讨论】:

  • 标签是 VBoxLayout 中唯一的小部件吗?
  • @LahiruChandima 是的,没错。

标签: python qt pyqt pyqt4 wizard


【解决方案1】:

在两个间隔项之间添加您的标签。您的垂直布局也应该在其父窗口小部件中进行布局,以便它占据父窗口的全尺寸。

QSpacerItem* verticalSpacer1 = new QSpacerItem(20, 40, QSizePolicy::Minimum, QSizePolicy::Expanding);
label = new QLabel(Form);
label->setAlignment(Qt::AlignCenter);
QSpacerItem* verticalSpacer2 = new QSpacerItem(20, 40, QSizePolicy::Minimum, QSizePolicy::Expanding);

verticalLayout->addItem(verticalSpacer1);
verticalLayout->addWidget(label);
verticalLayout->addItem(verticalSpacer2);

【讨论】:

    【解决方案2】:

    如果您不想设置最小尺寸政策,您可以使用 QWidgets 执行以下操作:

    QWizardPage.__init__(self)
    
        intro_text = "Some text that needs to be centered..."
    
        self.introVBox = QVBoxLayout(self)
    
        self.sizer_top = QWidget()
        self.sizer_top.setSizePolicy(QSizePolicy.Expanding, QSizePolicy.Expanding)
        self.sizer_bottom = QWidget()
        self.sizer_bottom.setSizePolicy(QSizePolicy.Expanding, QSizePolicy.Expanding)
    
        self.label = QLabel(self)
        self.label.setText(intro_text)
        self.label.setAlignment(QtCore.Qt.AlignCenter)
        self.introVBox.addWidget(self.sizer_top)
        self.introVBox.addWidget(self.label)
        self.introVBox.addWidget(self.sizer_bottom)
        self.setLayout(self.introVBox);
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-03-03
      • 2011-07-15
      • 1970-01-01
      • 2010-10-18
      • 2023-04-07
      • 2018-02-10
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多