没有带有QStyleOptionButton的图标
No icon with QStyleOptionButton
本文关键字:图标 QStyleOptionButton 更新时间:2023-10-16
我遇到了一个奇怪的问题。
我需要在我的QTableView中有一些按钮。我曾经使用QAbstractItemView::setIndexWidget()方法,但在处理较大的模型时它不是很负责任。因此,我决定切换到QStyledItemDelegate。我的按钮有图标(只有图标,没有文本)。在使用 setIndexWidget 时,我使用了以下代码:
ClientDetailsButton::ClientDetailsButton(const Client* _client,
QWidget* _parent) :
QPushButton("", _parent),
__current(_client) {
setIcon(QIcon(":/uiIcons/button-details.png"));
}
它工作得很好。但是当我切换到委托时,我是这样使用它的:
QStyleOptionButton button;
button.rect = _option.rect;
button.text.clear();
button.icon = QIcon(":/uiIcons/button-details.png");
button.state = _option.state | QStyle::State_Enabled;
if (_index == __button)
button.state |= QStyle::State_Sunken;
QApplication::style()->drawControl(QStyle::CE_PushButton, &button, _painter);
按钮本身很好,但它是空的。没有可见的图标。令人惊讶的是,当我使用时,例如:
button.icon = QIcon::fromTheme("dialog-information", QIcon(":/uiIcons/button-details.png"));
主题图标可见。但如果Qt找不到主题图标,替换仍然是空白的。我尝试了我能想到的一切,但不知道为什么它不起作用。有人有什么想法吗?
我通过将button.iconSize=QSize(16,16);
设置为默认图标大小(-1,-1)
来解决此问题,因此图标不可见。
相关文章:
- 如何为 C++ Visual Studio 2019 指定应用程序图标?
- 从 wxWidgets 中的.DLL加载图标
- 如何修复加载图标()函数不显示图标?
- QT Framewrok 和 Visual Studio - 图标冲突
- 如何在 c++ 中将图标放在按钮上?
- Windows 资源管理器中的图标在使用 resource.rc 时显示 2 个不同的图标
- 为什么从文件获取图标时应用程序有时会崩溃?
- 如何在MFC中的静态文本控件上插入图标?
- wxWidgets 3.1.3 图标在 mac 下加载 - ICNS 文件不可读?
- 如何使用IExecuteCommand和动词在上下文菜单外壳扩展中显示本地化文本和自定义图标?
- 在 C# 中更改鼠标光标图标
- Gtk::带有set_icon_name的窗口图标集在 wayland 上不起作用
- 为什么图标主题资源路径没有列在get_search_path
- 如何在 VC6 中的对话框中将图标设置为按钮
- GTK 3 C++按钮中带有标签的图标
- Visual Studio 2015资源视图和资源编译器使用不同的方法在项目目录中查找图标文件.如何修复
- 如何在 Windows 中立即刷新文件夹图标
- 图标编辑器中的自定义颜色 (VS 2015)
- Shell_NotifyIcon在系统托盘中创建空白、无响应的图标
- 为没有qmake/VS的Qt Windows应用程序设置.exe图标