qt中alpha = data.at(1);
时间: 2024-05-29 15:15:49 浏览: 16
在 Qt 中,`data` 可能是一个 `QByteArray`、`QString` 或 `QVector` 等容器类,而 `at()` 是这些类的成员函数,用于获取容器中指定位置的元素。因此,这行代码的意思是从 `data` 容器中获取索引为 1 的元素,并将其赋值给变量 `alpha`。需要注意的是,在 C++ 中,容器的索引从 0 开始。
相关问题
arguments did not match any overloaded call: scaled(self, width: int, height: int, aspectRatioMode: Qt.AspectRatioMode = Qt.IgnoreAspectRatio, transformMode: Qt.TransformationMode = Qt.FastTransformation): argument 3 has unexpected type 'int' scaled(self, size: QSize, aspectRatioMode: Qt.AspectRatioMode = Qt.IgnoreAspectRatio, transformMode: Qt.TransformationMode = Qt.FastTransformation): argument 1 has unexpected type 'int'
这个错误是因为 `scaled()` 方法的参数类型不匹配。在 PySide/PyQt5 中,`scaled()` 方法有两种重载形式:
- `scaled(width, height[, aspectRatioMode=Qt.IgnoreAspectRatio, transformMode=Qt.FastTransformation])`
- `scaled(size[, aspectRatioMode=Qt.IgnoreAspectRatio, transformMode=Qt.FastTransformation])`
其中,第一个重载形式中的 `width` 和 `height` 参数应该是整数类型,而第二个重载形式中的 `size` 参数应该是 `QSize` 类型。
如果你想要缩放一个 `QPixmap` 或 `QImage` 对象,你可以将大小参数包装成 `QSize` 对象,如下所示:
``` python
from PyQt5.QtGui import QPixmap, QImage
from PyQt5.QtCore import Qt, QSize
# 使用 QPixmap 对象进行图像缩放
pixmap = QPixmap('image.png')
scaled_pixmap = pixmap.scaled(QSize(100, 100), Qt.KeepAspectRatio, Qt.SmoothTransformation)
# 使用 QImage 对象进行图像缩放
image = QImage('image.png')
scaled_image = image.scaled(QSize(100, 100), Qt.KeepAspectRatio, Qt.SmoothTransformation)
```
请注意,在 `scaled()` 方法中,`aspectRatioMode` 和 `transformMode` 参数都有默认值,因此你可以省略不必要的参数。
希望这可以帮助你解决问题。
data = data.iloc[:10, :]改成取后10行
要取后10行数据,可以使用 `data.iloc[-10:, :]`,其中 `-10:` 表示从倒数第10行开始,一直到最后一行。完整的代码如下:
```
select_sqli ="SELECT time,SUM(CASE WHEN type_c='两厢车' THEN xiaoliang ELSE 0 END)/SUM(xiaoliang) AS ratio,1 - SUM(CASE WHEN type_c='两厢车' THEN xiaoliang ELSE 0 END)/SUM(xiaoliang) AS ratio_complement FROM sheji.sale GROUP BY time;"
cur.execute(select_sqli)
data = pd.DataFrame(cur.fetchall(), columns=['time', 'portion','r_portion'])
data = data.set_index('time')
data = data.sort_index(ascending=False)
data = data.iloc[-10:, :] # 取后10行数据
plt.figure(figsize=(9.42,1))
data.plot(kind='bar', stacked=True, x='time')
plt.title('Sales Ratio of Different Categories')
plt.xlabel('Category')
plt.ylabel('Ratio')
plt.xticks(rotation=90)
plt.savefig('portion.png',dpi=300)
pix = QPixmap("portion.png")
new_width = self.Market.label_4.width()
new_height = int(pix.height() * new_width / pix.width())
scaled_pixmap = pix.scaled(QSize(new_width, new_height), Qt.AspectRatioMode.KeepAspectRatio,Qt.TransformationMode.SmoothTransformation)
self.Market.label_4.setPixmap(scaled_pixmap)
plt.close()
```
这样就可以取后10行数据了。
相关推荐
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)