How to show icons without text in QListWidget?

*爱你&永不变心* 提交于 2019-12-12 10:56:24

问题


I want to show only icons in my QListWidget. I set text to empty string. When I select an icon I see an empty selected square on the text place. See the screenshot How can I get rid of this empty space?!


回答1:


use NULL instead

ui->listWidget->addItem(new QListWidgetItem(QIcon(":/res/icon"),NULL));




回答2:


How do you add an icon in your QListWidget? This should work fine (I am loading the icon from the resource file) :

ui->listWidget->addItem(new QListWidgetItem(QIcon(":/res/icon"), ""));

EDIT

From the screenshot I see that your problem is that there is some white space below the icon corresponding to the empty string. You could hack this behavior by setting a very small size to the font of the list widget item.

QListWidgetItem *newItem = new QListWidgetItem;
QFont f;
f.setPointSize(1); // It cannot be 0
newItem->setText("");
newItem->setIcon(QIcon(":/res/icon"));
newItem->setFont(f);
ui->listWidget->addItem(newItem);

This will do the trick. However you could also use the setItemWidget function and use your custom designed widget, or use a QListView and a delegate.




回答3:


My solution was to call setSizeHint() on the item with the size of the icon. I added a little padding because the selection box was cut off without it.

QListWidgetItem * pItem = new QListWidgetItem(icon, "");
pItem->setSizeHint(iconSize + QSize(4,4));
listWidget->addItem(pItem);


来源:https://stackoverflow.com/questions/8023983/how-to-show-icons-without-text-in-qlistwidget

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!