最近想做一个类似资源管理器的东西,用了QListWidget去实现,但是发现一个问题,就是当修改QListWidget里面的item的text时,如果text内容过短或者过长都会整个布局变得不整齐,如下图:
如何强制图标下面文字的长度呢?
- C/C++ code
MainWindow::MainWindow(QWidget *parent) : QMainWindow(parent), ui(new Ui::MainWindow){ ui->setupUi(this); ui->listWidget->setViewMode(QListView::IconMode); ui->listWidget->setResizeMode(QListView::Adjust); //ui->listWidget->setIconSize(QSize(96, 84)); ui->listWidget->setTextElideMode(Qt::ElideRight); ui->listWidget->setSpacing(12); createIcons();}void MainWindow::createIcons(){ for(int i=0; i<55; i++) { QListWidgetItem *configButton = new QListWidgetItem(ui->listWidget); configButton->setIcon(QIcon(":/images/config.png")); configButton->setText(tr("Configuration")); configButton->setTextAlignment(Qt::AlignHCenter); configButton->setFlags(Qt::ItemIsSelectable | Qt::ItemIsEnabled | Qt::ItemIsEditable | Qt::ItemIsDragEnabled); //ui->listWidget->setCurrentItem(configButton); } ui->listWidget->setFlow(QListView::LeftToRight); ui->listWidget->update();}
------解决方案--------------------
configButton->setSizeHint (QSize(80,80));
固定大小就OK了。。