这个C++ Builder写的快捷启动工具箱,如果用Qt来写,用什么控件合适?

ooolinux 2021-01-05 04:01:28
一堆图标的管理,图标的显示和容器,等等,用什么控件合适?

关于C++ Builder:
https://www.cnblogs.com/ustone/
...全文
1626 17 打赏 收藏 转发到动态 举报
写回复
用AI写文章
17 条回复
切换为时间正序
请发表友善的回复…
发表回复
xiaoxiangqing 2021-01-06
  • 打赏
  • 举报
回复
没有用这些高级的控件
hitzsf 2021-01-06
  • 打赏
  • 举报
回复
用button不挺好?
ooolinux 2021-01-06
  • 打赏
  • 举报
回复
引用 16 楼 mideum的回复:
[quote=引用 14 楼 ooolinux 的回复:]
差不多了,有个问题,
HICON hIcon1 = ExtractIcon(HInstance, L"aaa.exe", 0);
win32的句柄HICON如何转换成QIcon或者QPixmap、QImage?

1. 用winextras组件的方法QtWin::fromHICON
https://doc.qt.io/qt-5/qtwin.html#fromHICON
2. 不使用Window的API,用Qt的QFileIconProvider来取得icon

QFileIconProvider provider;
QFileInfo info("aaa.exe");
QIcon icon = provider.icon(info);
[/quote] tks,我试试
mideum 2021-01-06
  • 打赏
  • 举报
回复
引用 14 楼 ooolinux 的回复:
差不多了,有个问题,
HICON hIcon1 = ExtractIcon(HInstance, L"aaa.exe", 0);
win32的句柄HICON如何转换成QIcon或者QPixmap、QImage?

1. 用winextras组件的方法QtWin::fromHICON
https://doc.qt.io/qt-5/qtwin.html#fromHICON
2. 不使用Window的API,用Qt的QFileIconProvider来取得icon

QFileIconProvider provider;
QFileInfo info("aaa.exe");
QIcon icon = provider.icon(info);
ooolinux 2021-01-06
  • 打赏
  • 举报
回复
引用 10 楼 hitzsf 的回复:
用button不挺好?


引用 11 楼 xiaoxiangqing 的回复:
没有用这些高级的控件


引用 13 楼 donwmufromdying 的回复:
QGraphicsScene+QGraphicsView

我了解一下。
ooolinux 2021-01-06
  • 打赏
  • 举报
回复
引用 9 楼 mideum 的回复:
[quote=引用 8 楼 ooolinux 的回复:]
ImageList也可以多个,每个ListView关联一个ImageList。

如果是一对一那么最简单就是用QListWidget+QListWidgetItem,不知道你到底有什么疑问?
像你说的搞个ImageList当然也是可以的,就是都没有现成的,要自己写model就这样啊[/quote]
差不多了,有个问题,
HICON hIcon1 = ExtractIcon(HInstance, L"aaa.exe", 0);
win32的句柄HICON如何转换成QIcon或者QPixmap、QImage?
donwmufromdying 2021-01-06
  • 打赏
  • 举报
回复
QGraphicsScene+QGraphicsView
donwmufromdying 2021-01-06
  • 打赏
  • 举报
回复
难道不应该是QGraphicsScene吗?
mideum 2021-01-05
  • 打赏
  • 举报
回复
引用 8 楼 ooolinux 的回复:
ImageList也可以多个,每个ListView关联一个ImageList。

如果是一对一那么最简单就是用QListWidget+QListWidgetItem,不知道你到底有什么疑问?
像你说的搞个ImageList当然也是可以的,就是都没有现成的,要自己写model就这样啊
ooolinux 2021-01-05
  • 打赏
  • 举报
回复
引用 7 楼 mideum 的回复:
[quote=引用 6 楼 ooolinux 的回复:]
那每个item都要单独地加载图标了?C++Builder有个ImageList来统一管理图标或图片,ListView和ImageList关联,每个item只要指定imageIndex就可以获取对应的图标了。Qt有没有类似的?

没有现成的,你意思是说只有一个ImageList,但是可以和多个ListView关联然后每个ListView显示不同的图标列表是吗
这个感觉比较像是Model/View结构,就是你有一个model是实际管理图片列表的,然后每个QListView对应一个proxyModel显示不同的内容
但是这都要自己实现[/quote]
ImageList也可以多个,每个ListView关联一个ImageList。
mideum 2021-01-05
  • 打赏
  • 举报
回复
引用 6 楼 ooolinux 的回复:
那每个item都要单独地加载图标了?C++Builder有个ImageList来统一管理图标或图片,ListView和ImageList关联,每个item只要指定imageIndex就可以获取对应的图标了。Qt有没有类似的?

没有现成的,你意思是说只有一个ImageList,但是可以和多个ListView关联然后每个ListView显示不同的图标列表是吗
这个感觉比较像是Model/View结构,就是你有一个model是实际管理图片列表的,然后每个QListView对应一个proxyModel显示不同的内容
但是这都要自己实现
ooolinux 2021-01-05
  • 打赏
  • 举报
回复
引用 5 楼 mideum的回复:
[quote=引用 4 楼 ooolinux 的回复:]
后台管理主要是图标的存储和管理。

如我说的,如果只是简单的管理,就用QListWidgetItem就可以了
因为不知道你到底需要管理些什么
如果有复杂的内容,最好是自己写model继承QAbstractListModel,然后控件使用QListView而不是QListWidget,也就是采用Model/View结构[/quote] 那每个item都要单独地加载图标了?C++Builder有个ImageList来统一管理图标或图片,ListView和ImageList关联,每个item只要指定imageIndex就可以获取对应的图标了。Qt有没有类似的?
mideum 2021-01-05
  • 打赏
  • 举报
回复
引用 4 楼 ooolinux 的回复:
后台管理主要是图标的存储和管理。

如我说的,如果只是简单的管理,就用QListWidgetItem就可以了
因为不知道你到底需要管理些什么
如果有复杂的内容,最好是自己写model继承QAbstractListModel,然后控件使用QListView而不是QListWidget,也就是采用Model/View结构
ooolinux 2021-01-05
  • 打赏
  • 举报
回复
引用 3 楼 mideum 的回复:
[quote=引用 2 楼 ooolinux 的回复:]
后台管理一堆图标用什么控件呢?

什么叫后台管理?后台跟控件有什么关系?
每个图标作为一个QListWidgetItem加到QListWidget里[/quote]
后台管理主要是图标的存储和管理。
mideum 2021-01-05
  • 打赏
  • 举报
回复
引用 2 楼 ooolinux 的回复:
后台管理一堆图标用什么控件呢?

什么叫后台管理?后台跟控件有什么关系?
每个图标作为一个QListWidgetItem加到QListWidget里
ooolinux 2021-01-05
  • 打赏
  • 举报
回复
引用 1 楼 mideum 的回复:
图标列表用QListWidget,viewMode设为IconMode
外面用QTabWidget

后台管理一堆图标用什么控件呢?
mideum 2021-01-05
  • 打赏
  • 举报
回复
图标列表用QListWidget,viewMode设为IconMode
外面用QTabWidget

16,240

社区成员

发帖
与我相关
我的任务
社区描述
Qt 是一个跨平台应用程序框架。通过使用 Qt,您可以一次性开发应用程序和用户界面,然后将其部署到多个桌面和嵌入式操作系统,而无需重复编写源代码。
社区管理员
  • Qt
  • 亭台六七座
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧