QListWidget alignment elements

I am creating a QListWidget with some elements.

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) 

But elements do not have center alignment

enter image description here

Why?

+4
source share
1 answer

I made some modification to your code, but the main addition is QListWidgetItem::setSizeHint() for each element:

 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); 

Now it looks to me:

enter image description here

+2
source

All Articles