首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >QValueAxis显示乱码(中文)?

QValueAxis显示乱码(中文)?
EN

Stack Overflow用户
提问于 2019-11-01 14:22:27
回答 1查看 43关注 0票数 1

在我的图表中,x轴需要显示中文,y轴需要显示英文,但是x轴显示乱码。有人能帮我吗?

代码语言:javascript
复制
self.chart.createDefaultAxes()
axis_x, axis_y = self.chart.axes()
axis_x.setLabelFormat('%.2f分')
axis_y.setLabelFormat('%dmA')

它看起来像这样:

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-11-01 16:52:06

QString在QtCharts和str中使用的编码器似乎不兼容(甚至找出了问题的原因),但我已经设法实现了一个执行转换的解决方案:

代码语言:javascript
复制
import random
from PyQt5 import QtCore, QtWidgets, QtChart


def convert(word):
    return "".join(chr(e) for e in word.encode())


class MainWindow(QtWidgets.QMainWindow):
    def __init__(self, parent=None):
        super(MainWindow, self).__init__(parent)

        series = QtChart.QLineSeries(name="random serie")

        for i in range(20):
            series << QtCore.QPointF(0.1 * i, random.uniform(-10, 10))

        self.chart = QtChart.QChart()
        self.chart.setTitle("Title")
        self.chart.addSeries(series)
        self.chart.createDefaultAxes()
        axis_x, axis_y = self.chart.axes()
        axis_x.setLabelFormat(convert("%.2f分"))
        axis_y.setLabelFormat("%dmA")

        view = QtChart.QChartView(self.chart)
        self.setCentralWidget(view)


if __name__ == "__main__":
    import sys

    app = QtWidgets.QApplication(sys.argv)

    w = MainWindow()
    w.resize(640, 240)
    w.show()
    sys.exit(app.exec_())

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/58654940

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档