我在一个qwidget中有一个qlabel L。L是垂直和水平对齐的。当我调整W的大小时,L没有居中。
这是意料之中的吗?有什么好的实现可以让L再次居中?
发布于 2012-03-22 14:01:30
通过调用QLabel::setAlignment来对齐QLabel中的文本的工作方式与我预期的一样。
也许您错过了将标签添加到布局中(因此,如果调整小部件的大小,您的标签将自动调整大小)。另请参见Layout Management。一个最小的例子:
#include <QApplication>
#include <QHBoxLayout>
#include <QLabel>
#include <QWidget>
int main(int argc, char* argv[]) {
QApplication app(argc, argv);
QLabel* label=new QLabel("Hello World!");
label->setAlignment(Qt::AlignCenter);
QWidget* widget=new QWidget;
// create horizontal layout
QHBoxLayout* layout=new QHBoxLayout;
// and add label to it
layout->addWidget(label);
// set layout to widget
widget->setLayout(layout);
widget->show();
return app.exec();
}https://stackoverflow.com/questions/9816898
复制相似问题