QString image = QString(":/prefix/image/%1.png").arg(GetImage(num)); QIcon icon = QIcon(image); // 加载图标 QPixmap pixmap = icon.pixmap(QSize(30, 30)); // 将图标转换为Pixmap对象 QPainter painter(&pixmap); painter.setCompositionMode(QPainter::CompositionMode_SourceIn); painter.fillRect(pixmap.rect(), QColor(192, 125, 5)); 这段代码去掉图标的大小
时间: 2024-03-27 10:40:11 浏览: 124
如果你想去掉对图标的大小设置,可以直接使用 `QIcon` 类创建图标对象,不需要再调用 `QPixmap` 的 `scaled()` 方法。以下是修改后的代码:
```cpp
QString image = QString(":/prefix/image/%1.png").arg(GetImage(num));
QIcon icon = QIcon(image); // 加载图标
QPixmap pixmap = icon.pixmap(QSize()); // 将图标转换为Pixmap对象
QPainter painter(&pixmap);
painter.setCompositionMode(QPainter::CompositionMode_SourceIn);
painter.fillRect(pixmap.rect(), QColor(192, 125, 5));
```
这里将 `QSize()` 作为参数传递给 `QIcon::pixmap()` 方法,表示不对图标大小进行限制,使用图标的原始大小。
相关问题
qstring ss = "http://124.71.132.71:18080/jeeplus_lndwfs/deviceAlive"使用代码将其改成ss ="http://221.226.146.230:28082/jeeplus_lndwfs/getWaitData"
你可以这样修改:
```
QString ss = "http://221.226.146.230:28082/jeeplus_lndwfs/getWaitData";
```
这样就可以将 ss 的值修改为 "http://221.226.146.230:28082/jeeplus_lndwfs/getWaitData"。
QString str = “D:/Files/xxxx.asc”;怎样获取这个Qstring中的xxxx表示的文件名字
在Qt中,QString "D:/Files/xxxx.asc" 表示的是一个路径字符串,其中 "xxxx" 是文件名的一部分。如果你想获取文件名部分,你可以使用 `right()` 函数获取从最后一个斜杠 `/` 后面的部分,如果需要精确到点`.`为止,可以先用 `split('.')` 切割并取第一个元素。
以下是获取文件名的步骤:
```cpp
QString str = "D:/Files/xxxx.asc";
int pos = str.lastIndexOf('/') + 1; // 获取最后一个斜杠后的索引位置
QString fileName = str.right(str.length() - pos); // 从该位置截取直到字符串结束
// 如果你想处理可能出现的扩展名,可以用 split('.') 获取文件名和扩展名
QStringList parts = fileName.split('.');
if (parts.size() > 1) {
fileName = parts.first(); // 取得文件名
}
```
现在变量 `fileName` 就包含了 "xxxx.asc" 中的文件名部分。
阅读全文