我尝试向 QListWidget 添加操作,如下所示:
toolItems = new QListWidget(this);
toolItems->addAction(ui->itemLight);
toolItems->addAction(ui->itemDarkLight);
toolItems->addAction(ui->itemCameraPos);
toolItems->addAction(ui->itemCamera);
toolItems->addAction(ui->itemRounded);
toolItems->addAction(ui->itemLightbulb);
toolItems->addAction(ui->itemCommentOnScreen);
但问题是,这什么都不显示,但所有操作都有文字?!我该如何解决这个问题?
最佳答案
没关系,因为QListWidget
不支持添加操作。您需要阅读文档并使用 QListWidget::addItem
方法。
但是您可以通过操作创建项目:
QListWidgetItem *createItemFromAction( const QAction* action )
{
Q_ASSERT( action );
QListWidgetItem *item = new QListWidgetItem();
item->setText( action->text() );
item->setToolTip( action->toolTip() );
item->setIcon( action->icon() );
// ...
return item;
}
//...
toolItems->addAction( createItemFromAction( ui->itemCommentOnScreen ) );
关于c++ - 向 QListWidget 添加操作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26382207/