python3+PyQt5 柱状图

本文详细介绍了如何使用Python3和PyQt5库创建柱状图,展示了在Qt GUI中进行数据可视化的实践过程。
摘要由CSDN通过智能技术生成

本文通过Python3+pyqt5实现了python Qt GUI 快速编程的16章的excise例子。

#!/usr/bin/env python3

import random
import sys
from PyQt5.QtCore import (QAbstractListModel, QAbstractTableModel,
        QModelIndex, QSize, QTimer, QVariant, Qt,pyqtSignal)
from PyQt5.QtWidgets import (QApplication, QDialog, QHBoxLayout,
        QListView, QSpinBox, QStyledItemDelegate,QStyleOptionViewItem, QWidget)
from PyQt5.QtGui import QColor,QPainter,QPixmap

class BarGraphModel(QAbstractListModel):
    dataChanged=pyqtSignal(QModelIndex,QModelIndex)
    def __init__(self):
        super(BarGraphModel, self).__init__()
        self.__data = []
        self.__colors = {}
        self.minValue = 0
        self.maxValue = 0


    def rowCount(self, index=QModelIndex()):
        return len(self.__data)


    def insertRows(self, row, count):
        extra = row + count
        if extra >= len(self.__data):
            self.beginInsertRows(QModelIndex(), row, row + count - 1)
            self.__data.extend([0] * (extra - len(self.__data) + 1))
            self.endInsertRows()
            return True
        return False


    def flags(self, index):
        #return (QAbstractTableModel.flags(self, index)|Qt.ItemIsEditable)
        
  • 0
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
PyQt5是一个用于创建图形用户界面(GUI)的Python库。它提供了丰富的功能和工具,可以用于创建各种类型的应用程序,包括绘制柱状图。 要创建柱状图,你可以使用PyQt5中的QChart和QBarSeries类。首先,你需要创建一个QBarSeries对象,并向其添加柱状图数据。然后,将QBarSeries对象添加到QChart中,并将QChart显示在窗口上。 以下是一个简单的示例代码,演示了如何使用PyQt5创建柱状图: ```python import sys from PyQt5.QtWidgets import QApplication, QMainWindow from PyQt5.QtChart import QChart, QChartView, QBarSet, QBarSeries def create_bar_chart(): # 创建柱状图数据 set0 = QBarSet("Data Set 1") set0.append([1, 2, 3, 4, 5]) set1 = QBarSet("Data Set 2") set1.append([6, 7, 8, 9, 10]) # 创建柱状图系列 series = QBarSeries() series.append(set0) series.append(set1) # 创建图表并添加系列 chart = QChart() chart.addSeries(series) # 设置图表标题 chart.setTitle("Bar Chart Example") # 创建图表视图 chart_view = QChartView(chart) # 创建主窗口 main_window = QMainWindow() main_window.setCentralWidget(chart_view) # 显示窗口 main_window.show() if __name__ == "__main__": app = QApplication(sys.argv) create_bar_chart() sys.exit(app.exec_()) ``` 在这个示例中,我们创建了两个数据集(set0和set1),并将它们添加到柱状图系列中。然后,我们创建了一个QChart对象,并将系列添加到图表中。最后,我们创建了一个QChartView对象,并将其设置为主窗口的中央部件,然后显示窗口。 关于repaint的问题,repaint是QWidget类的一个方法,用于重绘窗口。当窗口需要更新时,可以调用repaint方法来触发重绘操作。在上面的示例中,我们没有使用repaint方法,因为PyQt5会自动处理窗口的重绘。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值