我用一些项目创建 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)
Run Code Online (Sandbox Code Playgroud)
但是项目没有居中对齐
为什么?
我对您的代码进行了一些修改,但主要是QListWidgetItem::setSizeHint()为每个元素添加:
QListWidgetItem* lwi = new QListWidgetItem(QIcon(":Image/pinwheel.png"), "\xd0\xa6\xd0\xb2\xd0\xb5\xd1\x82\xd0\xb0");\nlwi->setSizeHint(QSize(256, 52));\nlistWidget->addItem( lwi );\nlwi->setTextAlignment(Qt::AlignCenter);\n\nlwi = new QListWidgetItem(QIcon(":Image/pinwheel.png"), "\xd0\xa3\xd0\xbf\xd1\x80\xd0\xb0\xd0\xb2\xd0\xbb\xd0\xb5\xd0\xbd\xd0\xb8\xd0\xb5 \xd0\xb8 \xd1\x87\xd1\x82\xd0\xbe-\xd1\x82\xd0\xbe \xd0\xb5\xd1\x89\xd0\xb5");\nlwi->setSizeHint(QSize(256, 52));\nlistWidget->addItem( lwi );\nlwi->setTextAlignment(Qt::AlignCenter);\nRun Code Online (Sandbox Code Playgroud)\n\n现在它看起来对我来说是一致的:
\n\n\n