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 16:40:11 浏览: 21
如果你想去掉对图标的大小设置,可以直接使用 `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 a = "C:/test/dat\" 把a中的反斜杠替换成正斜杠
可以使用 QString 类的 replace() 函数将字符串中的反斜杠替换成正斜杠。需要注意的是,反斜杠是转义字符,所以需要使用两个反斜杠来表示一个反斜杠。
下面是示例代码:
```cpp
QString a = "C:/test/dat\"";
a.replace("\\", "/");
```
执行后,a 的值将为 "C:/test/dat"",其中的反斜杠已经被替换成正斜杠。如果要将 a 中的双引号也替换掉,可以将 replace() 函数的第三个参数设置为一个空字符串,如下所示:
```cpp
a.replace("\\", "/", Qt::CaseInsensitive);
a.replace("\"", "");
```
这样执行后,a 的值将为 "C:/test/dat",其中的反斜杠和双引号都被替换掉了。