看完这个程序,一般的小程序需求应该已经可以去开发了,但是作为一个程序狗,希望还是把文档给看完比较好,知其然知其所以然,所以我还会坚持下去。
import sys
42from PySide6.QtCore import Qt, Slot
43from PySide6.QtGui import QAction, QPainter
44from PySide6.QtWidgets import (QApplication, QHeaderView, QHBoxLayout, QLabel, QLineEdit,
45 QMainWindow, QPushButton, QTableWidget, QTableWidgetItem,
46 QVBoxLayout, QWidget)
47from PySide6.QtCharts import QChartView, QPieSeries, QChart
48
49
50class Widget(QWidget):
51 def __init__(self):
52 QWidget.__init__(self)
53 self.items = 0
54
55 # Example data
56 self._data = {"Water": 24.5, "Electricity": 55.1, "Rent": 850.0,
57 "Supermarket": 230.4, "Internet": 29.99, "Bars": 21.85,
58 "Public transportation": 60.0, "Coffee": 22.45, "Restaurants": 120}
59
60 # Left
61 self.table = QTableWidget()
62 self.table.setColumnCount(2)
63 self.table.setHorizontalHeaderLabels(["Description", "Price"])
64 self.table.horizontalHeader().setSectionResizeMode(QHeaderView.Stretch)
65
66 # Chart
67 self.chart_view = QChartView()
68 self.chart_view.setRenderHint(QPainter.Antialiasing)
69
70 # Right
71 self.description = QLineEdit()
72 self.price = QLineEdit()
73 self.add = QPushButton("Add")
74 self.clear = QPushButton("Clear")
75 self.quit = QPushButton("Quit")
76 self.plot = QPushButton("Plot"