QT如何实现自定义下拉列表

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了QT如何实现自定义下拉列表相关的知识,希望对你有一定的参考价值。

如题,要实现一个下拉列表,不同的选项前面对应不同的颜色图标,下拉列表还要嵌入一个QTableWidget中作为一列,已经实现了单独的下拉列表item,用item的代理设置的,这样每插入一行就不用重新添加QComboBox。重点是实现不同的颜色图标对应不同的下拉列表项目。

    创建一个QListWidget的对象listWidget

    设置QComboBox的Model和View, 即使用setModel(listWidget.model())和setView(listWIdget)

    自定义一个下拉项ItemWidget, 把你项目需要的下拉项设计出来

    把自定义的下拉项ItemWidget加到listWidget中, 即使用setItemWidget();


参考技术A 插入一项或多项于序号index处(3个重载函数):
void insertItem (int index, const QString &text, const QVariant &userData =QVariant() );
void insertItem (int index, const QIcon &icon, const QString &text, const QVariant &userData =QVariant() ); //这里QIcon是你需要加的图标,后面的userData一般忽略不用写
void insertItems ( int index, const QStringList &list);
参考技术B

    使用css样式  使用图片来改变

    使用图片

    自己重写个类

参考技术C ui->comboBox->addItem(QStringLiteral("下拉菜单显示的其中一条内容"),1);(1是这条下拉条代表的数据你可以随便改) 参考技术D 你是指QComboBox
不清楚你是要什么样的自定义,说详细点

以上是关于QT如何实现自定义下拉列表的主要内容,如果未能解决你的问题,请参考以下文章

Qt实现QQ好友下拉列表(用QListView实现,所以还得定义它的Model)

如何在 BizTalk 自定义管道中实现下拉列表

如何使用angularJS从自定义下拉列表中获取选定的值

如何启用预定项目的下拉列表以添加到 SceneBuilder 中的自定义控件?

Fdog系列:使用Qt模仿QQ实现登录界面到主界面,功能篇。

Fdog系列:使用Qt模仿QQ实现登录界面到主界面,功能篇。