我用一些项目创建了QListWidget。
QHBoxLayout* h_layout = new QHBoxLayout;
h_layout->setMargin( 0 );
menu_list_widget_ = new QListWidget;
menu_list_widget_->setFlow(QListView::TopToBottom);
menu_list_widget_->setViewMode(QListView::IconMode);
menu_list_widget_->setMovement(QListView::Static);
menu_list_widget_->setFixedWidth( 100 );
QListWidgetItem* lwi;
menu_list_widget_->addItem( lwi = new QListWidgetItem(QIcon(":/icons/color_pencils.png"), "Цвета") );
lwi->setTextAlignment(Qt::AlignCenter);
menu_list_widget_->addItem( lwi = new QListWidgetItem(QIcon(":/icons/font.png"), "Шрифт") );
lwi->setTextAlignment(Qt::AlignCenter);
lwi->setHidden( true );
// etc
h_layout->addWidget(menu_list_widget_, 0, Qt::AlignHCenter)但是项目没有中心对齐

为什么?
发布于 2015-08-03 13:44:00
我对代码做了一些修改,但主要是为每个元素添加QListWidgetItem::setSizeHint():
QListWidgetItem* lwi = new QListWidgetItem(QIcon(":Image/pinwheel.png"), "Цвета");
lwi->setSizeHint(QSize(256, 52));
listWidget->addItem( lwi );
lwi->setTextAlignment(Qt::AlignCenter);
lwi = new QListWidgetItem(QIcon(":Image/pinwheel.png"), "Управление и что-то еще");
lwi->setSizeHint(QSize(256, 52));
listWidget->addItem( lwi );
lwi->setTextAlignment(Qt::AlignCenter);现在它看起来对我来说是一致的:

https://stackoverflow.com/questions/31786349
复制相似问题