QListWidget 对齐项目

Vik*_*ika 7 qt

我用一些项目创建 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)

但是项目没有居中对齐

在此处输入图片说明

为什么?

t3f*_*--i 3

我对您的代码进行了一些修改,但主要是QListWidgetItem::setSizeHint()为每个元素添加:

\n\n
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);\n
Run Code Online (Sandbox Code Playgroud)\n\n

现在它看起来对我来说是一致的:

\n\n

在此输入图像描述

\n