如何构建QtCreator在工具中使用的布局 - >我自己的应用程序的选项?它应该看起来像这样,但有另一个内容:
如何使用QtCreator中集成的QtDesigner使用C ++ / Qt做到这一点?
答案 0 :(得分:0)
我刚刚找到解决方案!我需要使用带有QListView
的{{1}}。要手动设置项目大小和图标,我需要子类QStringListModel
和QStringListModel
:
QStyledItemDelegate
然后,我可以更新我的// ItemDelegate to set item size manually
class MyItemDelegate : public QStyledItemDelegate
{
public:
virtual QSize sizeHint (const QStyleOptionViewItem &option, const QModelIndex &index) const
{
QSize suggestion = QStyledItemDelegate::sizeHint(option, index);
return QSize(suggestion.width(), 30);
}
};
// StringListModel to allow setting images
class MyStringListModel : public QStringListModel
{
public:
virtual QVariant data (const QModelIndex &index, int role) const
{
if (role == Qt::DecorationRole)
{
QString value = stringList().at(index.row());
if (value == "new")
return add;
else
return db;
}
else
return QStringListModel::data(index, role);
}
private:
QIcon db = QIcon::fromTheme("server-database");
QIcon add = QIcon::fromTheme("list-add");
};
(由Qt创建):
QListView