aboutsummaryrefslogtreecommitdiffstats
path: root/sources/pyside6/doc/tutorials
diff options
context:
space:
mode:
authorCristián Maureira-Fredes <Cristian.Maureira-Fredes@qt.io>2021-09-22 12:15:21 +0200
committerCristián Maureira-Fredes <Cristian.Maureira-Fredes@qt.io>2021-09-22 15:12:18 +0200
commited8dbddc67517bff961e4b3c300b21ce987e3e6a (patch)
tree49c0b6688257b0253985a831b1cd58eeaf63a319 /sources/pyside6/doc/tutorials
parentd50cf744b8de18d9b3756712cdd07f270512fa91 (diff)
tutorials: update datavisualization and expenses
These tutorials were removed due to QtCharts not being available, additionally due to the QtCharts namespace changes the code needed to be adjusted. Adding panels for the tutorials to display as cards instead of a list, and creating a new section called 'General Applications'. Task-number: PYSIDE-841 Change-Id: I18fbce3fd48ed35013bcc82013ffc6e06f005b03 Reviewed-by: Christian Tismer <tismer@stackless.com> Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
Diffstat (limited to 'sources/pyside6/doc/tutorials')
-rw-r--r--sources/pyside6/doc/tutorials/datavisualize/datavisualize3/main.py2
-rw-r--r--sources/pyside6/doc/tutorials/datavisualize/datavisualize3/main_window.py5
-rw-r--r--sources/pyside6/doc/tutorials/datavisualize/datavisualize4/main.py2
-rw-r--r--sources/pyside6/doc/tutorials/datavisualize/datavisualize4/main_widget.py2
-rw-r--r--sources/pyside6/doc/tutorials/datavisualize/datavisualize4/main_window.py4
-rw-r--r--sources/pyside6/doc/tutorials/datavisualize/datavisualize4/table_model.py4
-rw-r--r--sources/pyside6/doc/tutorials/datavisualize/datavisualize5/main.py2
-rw-r--r--sources/pyside6/doc/tutorials/datavisualize/datavisualize5/main_widget.py10
-rw-r--r--sources/pyside6/doc/tutorials/datavisualize/datavisualize5/main_window.py4
-rw-r--r--sources/pyside6/doc/tutorials/datavisualize/datavisualize5/table_model.py4
-rw-r--r--sources/pyside6/doc/tutorials/datavisualize/datavisualize6/main.py2
-rw-r--r--sources/pyside6/doc/tutorials/datavisualize/datavisualize6/main_widget.py16
-rw-r--r--sources/pyside6/doc/tutorials/datavisualize/datavisualize6/main_window.py7
-rw-r--r--sources/pyside6/doc/tutorials/datavisualize/datavisualize6/table_model.py4
-rw-r--r--sources/pyside6/doc/tutorials/datavisualize/images/datavisualization_app.pngbin40458 -> 49419 bytes
-rw-r--r--sources/pyside6/doc/tutorials/datavisualize/index.rst4
-rw-r--r--sources/pyside6/doc/tutorials/datavisualize/plot_datapoints.rst2
-rw-r--r--sources/pyside6/doc/tutorials/expenses/expenses.rst3
-rw-r--r--sources/pyside6/doc/tutorials/expenses/main.py32
-rw-r--r--sources/pyside6/doc/tutorials/expenses/main_snake_prop.py22
-rw-r--r--sources/pyside6/doc/tutorials/expenses/steps/03-expenses.py1
-rw-r--r--sources/pyside6/doc/tutorials/expenses/steps/06-expenses.py1
-rw-r--r--sources/pyside6/doc/tutorials/expenses/steps/07-expenses.py1
-rw-r--r--sources/pyside6/doc/tutorials/expenses/steps/08-expenses.py1
-rw-r--r--sources/pyside6/doc/tutorials/expenses/steps/09-expenses.py5
-rw-r--r--sources/pyside6/doc/tutorials/expenses/steps/10-expenses.py11
-rw-r--r--sources/pyside6/doc/tutorials/index.rst66
27 files changed, 141 insertions, 76 deletions
diff --git a/sources/pyside6/doc/tutorials/datavisualize/datavisualize3/main.py b/sources/pyside6/doc/tutorials/datavisualize/datavisualize3/main.py
index 32aaea1d6..642184d94 100644
--- a/sources/pyside6/doc/tutorials/datavisualize/datavisualize3/main.py
+++ b/sources/pyside6/doc/tutorials/datavisualize/datavisualize3/main.py
@@ -1,6 +1,6 @@
#############################################################################
##
-## Copyright (C) 2019 The Qt Company Ltd.
+## Copyright (C) 2021 The Qt Company Ltd.
## Contact: http://www.qt.io/licensing/
##
## This file is part of the Qt for Python examples of the Qt Toolkit.
diff --git a/sources/pyside6/doc/tutorials/datavisualize/datavisualize3/main_window.py b/sources/pyside6/doc/tutorials/datavisualize/datavisualize3/main_window.py
index 17fe0e141..011f515df 100644
--- a/sources/pyside6/doc/tutorials/datavisualize/datavisualize3/main_window.py
+++ b/sources/pyside6/doc/tutorials/datavisualize/datavisualize3/main_window.py
@@ -1,6 +1,6 @@
#############################################################################
##
-## Copyright (C) 2019 The Qt Company Ltd.
+## Copyright (C) 2021 The Qt Company Ltd.
## Contact: http://www.qt.io/licensing/
##
## This file is part of the Qt for Python examples of the Qt Toolkit.
@@ -64,6 +64,5 @@ class MainWindow(QMainWindow):
self.status.showMessage("Data loaded and plotted")
# Window dimensions
- geometry = qApp.desktop().availableGeometry(self)
+ geometry = self.screen().availableGeometry()
self.setFixedSize(geometry.width() * 0.8, geometry.height() * 0.7)
-
diff --git a/sources/pyside6/doc/tutorials/datavisualize/datavisualize4/main.py b/sources/pyside6/doc/tutorials/datavisualize/datavisualize4/main.py
index b4d787993..11d1e7a59 100644
--- a/sources/pyside6/doc/tutorials/datavisualize/datavisualize4/main.py
+++ b/sources/pyside6/doc/tutorials/datavisualize/datavisualize4/main.py
@@ -1,6 +1,6 @@
#############################################################################
##
-## Copyright (C) 2019 The Qt Company Ltd.
+## Copyright (C) 2021 The Qt Company Ltd.
## Contact: http://www.qt.io/licensing/
##
## This file is part of the Qt for Python examples of the Qt Toolkit.
diff --git a/sources/pyside6/doc/tutorials/datavisualize/datavisualize4/main_widget.py b/sources/pyside6/doc/tutorials/datavisualize/datavisualize4/main_widget.py
index 5113ae0b8..27e4363d6 100644
--- a/sources/pyside6/doc/tutorials/datavisualize/datavisualize4/main_widget.py
+++ b/sources/pyside6/doc/tutorials/datavisualize/datavisualize4/main_widget.py
@@ -1,6 +1,6 @@
#############################################################################
##
-## Copyright (C) 2019 The Qt Company Ltd.
+## Copyright (C) 2021 The Qt Company Ltd.
## Contact: http://www.qt.io/licensing/
##
## This file is part of the Qt for Python examples of the Qt Toolkit.
diff --git a/sources/pyside6/doc/tutorials/datavisualize/datavisualize4/main_window.py b/sources/pyside6/doc/tutorials/datavisualize/datavisualize4/main_window.py
index a60a4a1b1..958cfa28c 100644
--- a/sources/pyside6/doc/tutorials/datavisualize/datavisualize4/main_window.py
+++ b/sources/pyside6/doc/tutorials/datavisualize/datavisualize4/main_window.py
@@ -1,6 +1,6 @@
#############################################################################
##
-## Copyright (C) 2019 The Qt Company Ltd.
+## Copyright (C) 2021 The Qt Company Ltd.
## Contact: http://www.qt.io/licensing/
##
## This file is part of the Qt for Python examples of the Qt Toolkit.
@@ -64,6 +64,6 @@ class MainWindow(QMainWindow):
self.status.showMessage("Data loaded and plotted")
# Window dimensions
- geometry = qApp.desktop().availableGeometry(self)
+ geometry = self.screen().availableGeometry()
self.setFixedSize(geometry.width() * 0.8, geometry.height() * 0.7)
diff --git a/sources/pyside6/doc/tutorials/datavisualize/datavisualize4/table_model.py b/sources/pyside6/doc/tutorials/datavisualize/datavisualize4/table_model.py
index 3ccf8162b..847e59d80 100644
--- a/sources/pyside6/doc/tutorials/datavisualize/datavisualize4/table_model.py
+++ b/sources/pyside6/doc/tutorials/datavisualize/datavisualize4/table_model.py
@@ -1,6 +1,6 @@
#############################################################################
##
-## Copyright (C) 2019 The Qt Company Ltd.
+## Copyright (C) 2021 The Qt Company Ltd.
## Contact: http://www.qt.io/licensing/
##
## This file is part of the Qt for Python examples of the Qt Toolkit.
@@ -75,7 +75,7 @@ class CustomTableModel(QAbstractTableModel):
if role == Qt.DisplayRole:
if column == 0:
date = self.input_dates[row].toPython()
- return date[:-3]
+ return str(date)[:-3]
elif column == 1:
magnitude = self.input_magnitudes[row]
return f"{magnitude:.2f}"
diff --git a/sources/pyside6/doc/tutorials/datavisualize/datavisualize5/main.py b/sources/pyside6/doc/tutorials/datavisualize/datavisualize5/main.py
index b4d787993..11d1e7a59 100644
--- a/sources/pyside6/doc/tutorials/datavisualize/datavisualize5/main.py
+++ b/sources/pyside6/doc/tutorials/datavisualize/datavisualize5/main.py
@@ -1,6 +1,6 @@
#############################################################################
##
-## Copyright (C) 2019 The Qt Company Ltd.
+## Copyright (C) 2021 The Qt Company Ltd.
## Contact: http://www.qt.io/licensing/
##
## This file is part of the Qt for Python examples of the Qt Toolkit.
diff --git a/sources/pyside6/doc/tutorials/datavisualize/datavisualize5/main_widget.py b/sources/pyside6/doc/tutorials/datavisualize/datavisualize5/main_widget.py
index 0f9b14df3..0d1782c98 100644
--- a/sources/pyside6/doc/tutorials/datavisualize/datavisualize5/main_widget.py
+++ b/sources/pyside6/doc/tutorials/datavisualize/datavisualize5/main_widget.py
@@ -1,6 +1,6 @@
#############################################################################
##
-## Copyright (C) 2019 The Qt Company Ltd.
+## Copyright (C) 2021 The Qt Company Ltd.
## Contact: http://www.qt.io/licensing/
##
## This file is part of the Qt for Python examples of the Qt Toolkit.
@@ -42,7 +42,7 @@ from PySide6.QtCore import QDateTime, Qt
from PySide6.QtGui import QPainter
from PySide6.QtWidgets import (QWidget, QHeaderView, QHBoxLayout, QTableView,
QSizePolicy)
-from PySide6.QtCharts import QtCharts
+from PySide6.QtCharts import QChart, QChartView, QLineSeries, QDateTimeAxis, QValueAxis
from table_model import CustomTableModel
@@ -66,11 +66,11 @@ class Widget(QWidget):
self.horizontal_header.setStretchLastSection(True)
# Creating QChart
- self.chart = QtCharts.QChart()
- self.chart.setAnimationOptions(QtCharts.QChart.AllAnimations)
+ self.chart = QChart()
+ self.chart.setAnimationOptions(QChart.AllAnimations)
# Creating QChartView
- self.chart_view = QtCharts.QChartView(self.chart)
+ self.chart_view = QChartView(self.chart)
self.chart_view.setRenderHint(QPainter.Antialiasing)
# QWidget Layout
diff --git a/sources/pyside6/doc/tutorials/datavisualize/datavisualize5/main_window.py b/sources/pyside6/doc/tutorials/datavisualize/datavisualize5/main_window.py
index 4b0920133..218637e81 100644
--- a/sources/pyside6/doc/tutorials/datavisualize/datavisualize5/main_window.py
+++ b/sources/pyside6/doc/tutorials/datavisualize/datavisualize5/main_window.py
@@ -1,6 +1,6 @@
#############################################################################
##
-## Copyright (C) 2019 The Qt Company Ltd.
+## Copyright (C) 2021 The Qt Company Ltd.
## Contact: http://www.qt.io/licensing/
##
## This file is part of the Qt for Python examples of the Qt Toolkit.
@@ -64,6 +64,6 @@ class MainWindow(QMainWindow):
self.status.showMessage("Data loaded and plotted")
# Window dimensions
- geometry = qApp.desktop().availableGeometry(self)
+ geometry = self.screen().availableGeometry()
self.setFixedSize(geometry.width() * 0.8, geometry.height() * 0.7)
diff --git a/sources/pyside6/doc/tutorials/datavisualize/datavisualize5/table_model.py b/sources/pyside6/doc/tutorials/datavisualize/datavisualize5/table_model.py
index 3ccf8162b..847e59d80 100644
--- a/sources/pyside6/doc/tutorials/datavisualize/datavisualize5/table_model.py
+++ b/sources/pyside6/doc/tutorials/datavisualize/datavisualize5/table_model.py
@@ -1,6 +1,6 @@
#############################################################################
##
-## Copyright (C) 2019 The Qt Company Ltd.
+## Copyright (C) 2021 The Qt Company Ltd.
## Contact: http://www.qt.io/licensing/
##
## This file is part of the Qt for Python examples of the Qt Toolkit.
@@ -75,7 +75,7 @@ class CustomTableModel(QAbstractTableModel):
if role == Qt.DisplayRole:
if column == 0:
date = self.input_dates[row].toPython()
- return date[:-3]
+ return str(date)[:-3]
elif column == 1:
magnitude = self.input_magnitudes[row]
return f"{magnitude:.2f}"
diff --git a/sources/pyside6/doc/tutorials/datavisualize/datavisualize6/main.py b/sources/pyside6/doc/tutorials/datavisualize/datavisualize6/main.py
index e4466f7ca..04e20e85a 100644
--- a/sources/pyside6/doc/tutorials/datavisualize/datavisualize6/main.py
+++ b/sources/pyside6/doc/tutorials/datavisualize/datavisualize6/main.py
@@ -1,6 +1,6 @@
#############################################################################
##
-## Copyright (C) 2019 The Qt Company Ltd.
+## Copyright (C) 2021 The Qt Company Ltd.
## Contact: http://www.qt.io/licensing/
##
## This file is part of the Qt for Python examples of the Qt Toolkit.
diff --git a/sources/pyside6/doc/tutorials/datavisualize/datavisualize6/main_widget.py b/sources/pyside6/doc/tutorials/datavisualize/datavisualize6/main_widget.py
index d8132265d..464480a0b 100644
--- a/sources/pyside6/doc/tutorials/datavisualize/datavisualize6/main_widget.py
+++ b/sources/pyside6/doc/tutorials/datavisualize/datavisualize6/main_widget.py
@@ -1,6 +1,6 @@
#############################################################################
##
-## Copyright (C) 2019 The Qt Company Ltd.
+## Copyright (C) 2021 The Qt Company Ltd.
## Contact: http://www.qt.io/licensing/
##
## This file is part of the Qt for Python examples of the Qt Toolkit.
@@ -42,7 +42,7 @@ from PySide6.QtCore import QDateTime, Qt
from PySide6.QtGui import QPainter
from PySide6.QtWidgets import (QWidget, QHeaderView, QHBoxLayout, QTableView,
QSizePolicy)
-from PySide6.QtCharts import QtCharts
+from PySide6.QtCharts import QChart, QChartView, QLineSeries, QDateTimeAxis, QValueAxis
from table_model import CustomTableModel
@@ -67,12 +67,12 @@ class Widget(QWidget):
self.horizontal_header.setStretchLastSection(True)
# Creating QChart
- self.chart = QtCharts.QChart()
- self.chart.setAnimationOptions(QtCharts.QChart.AllAnimations)
+ self.chart = QChart()
+ self.chart.setAnimationOptions(QChart.AllAnimations)
self.add_series("Magnitude (Column 1)", [0, 1])
# Creating QChartView
- self.chart_view = QtCharts.QChartView(self.chart)
+ self.chart_view = QChartView(self.chart)
self.chart_view.setRenderHint(QPainter.Antialiasing)
# QWidget Layout
@@ -94,7 +94,7 @@ class Widget(QWidget):
def add_series(self, name, columns):
# Create QLineSeries
- self.series = QtCharts.QLineSeries()
+ self.series = QLineSeries()
self.series.setName(name)
# Filling QLineSeries
@@ -112,14 +112,14 @@ class Widget(QWidget):
self.chart.addSeries(self.series)
# Setting X-axis
- self.axis_x = QtCharts.QDateTimeAxis()
+ self.axis_x = QDateTimeAxis()
self.axis_x.setTickCount(10)
self.axis_x.setFormat("dd.MM (h:mm)")
self.axis_x.setTitleText("Date")
self.chart.addAxis(self.axis_x, Qt.AlignBottom)
self.series.attachAxis(self.axis_x)
# Setting Y-axis
- self.axis_y = QtCharts.QValueAxis()
+ self.axis_y = QValueAxis()
self.axis_y.setTickCount(10)
self.axis_y.setLabelFormat("%.2f")
self.axis_y.setTitleText("Magnitude")
diff --git a/sources/pyside6/doc/tutorials/datavisualize/datavisualize6/main_window.py b/sources/pyside6/doc/tutorials/datavisualize/datavisualize6/main_window.py
index 450f6de41..c568c3bca 100644
--- a/sources/pyside6/doc/tutorials/datavisualize/datavisualize6/main_window.py
+++ b/sources/pyside6/doc/tutorials/datavisualize/datavisualize6/main_window.py
@@ -1,6 +1,6 @@
#############################################################################
##
-## Copyright (C) 2019 The Qt Company Ltd.
+## Copyright (C) 2021 The Qt Company Ltd.
## Contact: http://www.qt.io/licensing/
##
## This file is part of the Qt for Python examples of the Qt Toolkit.
@@ -39,7 +39,7 @@
#############################################################################
from PySide6.QtCore import Slot
-from PySide6.QtGui import QAction, QKeySequence
+from PySide6.QtGui import QAction, QKeySequence, QScreen
from PySide6.QtWidgets import QMainWindow
@@ -64,7 +64,6 @@ class MainWindow(QMainWindow):
self.status.showMessage("Data loaded and plotted")
# Window dimensions
- geometry = qApp.desktop().availableGeometry(self)
+ geometry = self.screen().availableGeometry()
self.setFixedSize(geometry.width() * 0.8, geometry.height() * 0.7)
self.setCentralWidget(widget)
-
diff --git a/sources/pyside6/doc/tutorials/datavisualize/datavisualize6/table_model.py b/sources/pyside6/doc/tutorials/datavisualize/datavisualize6/table_model.py
index f46d5d402..d40731f70 100644
--- a/sources/pyside6/doc/tutorials/datavisualize/datavisualize6/table_model.py
+++ b/sources/pyside6/doc/tutorials/datavisualize/datavisualize6/table_model.py
@@ -1,6 +1,6 @@
#############################################################################
##
-## Copyright (C) 2019 The Qt Company Ltd.
+## Copyright (C) 2021 The Qt Company Ltd.
## Contact: http://www.qt.io/licensing/
##
## This file is part of the Qt for Python examples of the Qt Toolkit.
@@ -76,7 +76,7 @@ class CustomTableModel(QAbstractTableModel):
if role == Qt.DisplayRole:
if column == 0:
date = self.input_dates[row].toPython()
- return date[:-3]
+ return str(date)[:-3]
elif column == 1:
magnitude = self.input_magnitudes[row]
return f"{magnitude:.2f}"
diff --git a/sources/pyside6/doc/tutorials/datavisualize/images/datavisualization_app.png b/sources/pyside6/doc/tutorials/datavisualize/images/datavisualization_app.png
index ddac43fc3..8d7e4ba13 100644
--- a/sources/pyside6/doc/tutorials/datavisualize/images/datavisualization_app.png
+++ b/sources/pyside6/doc/tutorials/datavisualize/images/datavisualization_app.png
Binary files differ
diff --git a/sources/pyside6/doc/tutorials/datavisualize/index.rst b/sources/pyside6/doc/tutorials/datavisualize/index.rst
index ff18c654e..44226e779 100644
--- a/sources/pyside6/doc/tutorials/datavisualize/index.rst
+++ b/sources/pyside6/doc/tutorials/datavisualize/index.rst
@@ -8,6 +8,10 @@ US Geological Survey website. You could download the
`All earthquakes <https://earthquake.usgs.gov/earthquakes/feed/v1.0/summary/all_day.csv>`_
open data in a CSV format for this tutorial.
+.. image:: images/datavisualization_app.png
+ :width: 800
+ :alt: Data Visualization Screenshot
+
In the following chapters of this tutorial you'll learn how to
visualize data from a CSV in a line chart.
diff --git a/sources/pyside6/doc/tutorials/datavisualize/plot_datapoints.rst b/sources/pyside6/doc/tutorials/datavisualize/plot_datapoints.rst
index 8ebdd2b08..ee286ac16 100644
--- a/sources/pyside6/doc/tutorials/datavisualize/plot_datapoints.rst
+++ b/sources/pyside6/doc/tutorials/datavisualize/plot_datapoints.rst
@@ -20,6 +20,8 @@ Now, run the application to visualize the earthquake magnitudes
data at different times.
.. image:: images/datavisualization_app.png
+ :width: 600
+ :alt: Data Visualization Screenshot
Try modifying the sources to get different output. For example, you could try
to plot more data from the CSV.
diff --git a/sources/pyside6/doc/tutorials/expenses/expenses.rst b/sources/pyside6/doc/tutorials/expenses/expenses.rst
index aa672d781..6c7e99f79 100644
--- a/sources/pyside6/doc/tutorials/expenses/expenses.rst
+++ b/sources/pyside6/doc/tutorials/expenses/expenses.rst
@@ -1,6 +1,5 @@
-######################
Expenses Tool Tutorial
-######################
+======================
In this tutorial you will learn the following concepts:
* creating user interfaces programatically,
diff --git a/sources/pyside6/doc/tutorials/expenses/main.py b/sources/pyside6/doc/tutorials/expenses/main.py
index 76eea3440..f216a2158 100644
--- a/sources/pyside6/doc/tutorials/expenses/main.py
+++ b/sources/pyside6/doc/tutorials/expenses/main.py
@@ -44,7 +44,7 @@ from PySide6.QtGui import QAction, QPainter
from PySide6.QtWidgets import (QApplication, QHeaderView, QHBoxLayout, QLabel, QLineEdit,
QMainWindow, QPushButton, QTableWidget, QTableWidgetItem,
QVBoxLayout, QWidget)
-from PySide6.QtCharts import QtCharts
+from PySide6.QtCharts import QChartView, QPieSeries, QChart
class Widget(QWidget):
@@ -64,7 +64,7 @@ class Widget(QWidget):
self.table.horizontalHeader().setSectionResizeMode(QHeaderView.Stretch)
# Chart
- self.chart_view = QtCharts.QChartView()
+ self.chart_view = QChartView()
self.chart_view.setRenderHint(QPainter.Antialiasing)
# Right
@@ -79,7 +79,6 @@ class Widget(QWidget):
self.add.setEnabled(False)
self.right = QVBoxLayout()
- self.right.setMargin(10)
self.right.addWidget(QLabel("Description"))
self.right.addWidget(self.description)
self.right.addWidget(QLabel("Price"))
@@ -116,18 +115,23 @@ class Widget(QWidget):
des = self.description.text()
price = self.price.text()
- self.table.insertRow(self.items)
- description_item = QTableWidgetItem(des)
- price_item = QTableWidgetItem(f"{float(price):.2f}")
- price_item.setTextAlignment(Qt.AlignRight)
+ try:
+ price_item = QTableWidgetItem(f"{float(price):.2f}")
+ price_item.setTextAlignment(Qt.AlignRight)
- self.table.setItem(self.items, 0, description_item)
- self.table.setItem(self.items, 1, price_item)
+ self.table.insertRow(self.items)
+ description_item = QTableWidgetItem(des)
- self.description.setText("")
- self.price.setText("")
+ self.table.setItem(self.items, 0, description_item)
+ self.table.setItem(self.items, 1, price_item)
+
+ self.description.setText("")
+ self.price.setText("")
+
+ self.items += 1
+ except ValueError:
+ print("Wrong price", price)
- self.items += 1
@Slot()
def check_disable(self, s):
@@ -139,13 +143,13 @@ class Widget(QWidget):
@Slot()
def plot_data(self):
# Get table information
- series = QtCharts.QPieSeries()
+ series = QPieSeries()
for i in range(self.table.rowCount()):
text = self.table.item(i, 0).text()
number = float(self.table.item(i, 1).text())
series.append(text, number)
- chart = QtCharts.QChart()
+ chart = QChart()
chart.addSeries(series)
chart.legend().setAlignment(Qt.AlignLeft)
self.chart_view.setChart(chart)
diff --git a/sources/pyside6/doc/tutorials/expenses/main_snake_prop.py b/sources/pyside6/doc/tutorials/expenses/main_snake_prop.py
index d529391b5..5fbf9b859 100644
--- a/sources/pyside6/doc/tutorials/expenses/main_snake_prop.py
+++ b/sources/pyside6/doc/tutorials/expenses/main_snake_prop.py
@@ -119,18 +119,22 @@ class Widget(QWidget):
des = self.description.text
price = self.price.text
- self.table.insert_row(self.items)
- description_item = QTableWidgetItem(des)
- price_item = QTableWidgetItem(f"{float(price):.2f}")
- price_item.text_alignment = Qt.AlignRight
+ try:
+ price_item = QTableWidgetItem(f"{float(price):.2f}")
+ price_item.text_alignment = Qt.AlignRight
+
+ self.table.insert_row(self.items)
+ description_item = QTableWidgetItem(des)
- self.table.set_item(self.items, 0, description_item)
- self.table.set_item(self.items, 1, price_item)
+ self.table.set_item(self.items, 0, description_item)
+ self.table.set_item(self.items, 1, price_item)
- self.description.text = ""
- self.price.text = ""
+ self.description.text = ""
+ self.price.text = ""
- self.items += 1
+ self.items += 1
+ except ValueError:
+ print("Wrong price", price)
@Slot()
def check_disable(self, s):
diff --git a/sources/pyside6/doc/tutorials/expenses/steps/03-expenses.py b/sources/pyside6/doc/tutorials/expenses/steps/03-expenses.py
index d0ecd6844..38a57f85b 100644
--- a/sources/pyside6/doc/tutorials/expenses/steps/03-expenses.py
+++ b/sources/pyside6/doc/tutorials/expenses/steps/03-expenses.py
@@ -42,7 +42,6 @@ import sys
from PySide6.QtCore import Slot
from PySide6.QtGui import QAction
from PySide6.QtWidgets import QApplication, QMainWindow
-from PySide6.QtCharts import QtCharts
class MainWindow(QMainWindow):
diff --git a/sources/pyside6/doc/tutorials/expenses/steps/06-expenses.py b/sources/pyside6/doc/tutorials/expenses/steps/06-expenses.py
index f65ede982..5a9eb3591 100644
--- a/sources/pyside6/doc/tutorials/expenses/steps/06-expenses.py
+++ b/sources/pyside6/doc/tutorials/expenses/steps/06-expenses.py
@@ -70,7 +70,6 @@ class Widget(QWidget):
self.quit = QPushButton("Quit")
self.right = QVBoxLayout()
- self.right.setMargin(10)
self.right.addWidget(QLabel("Description"))
self.right.addWidget(self.description)
self.right.addWidget(QLabel("Price"))
diff --git a/sources/pyside6/doc/tutorials/expenses/steps/07-expenses.py b/sources/pyside6/doc/tutorials/expenses/steps/07-expenses.py
index cdae2a847..82812d581 100644
--- a/sources/pyside6/doc/tutorials/expenses/steps/07-expenses.py
+++ b/sources/pyside6/doc/tutorials/expenses/steps/07-expenses.py
@@ -70,7 +70,6 @@ class Widget(QWidget):
self.quit = QPushButton("Quit")
self.right = QVBoxLayout()
- self.right.setMargin(10)
self.right.addWidget(QLabel("Description"))
self.right.addWidget(self.description)
self.right.addWidget(QLabel("Price"))
diff --git a/sources/pyside6/doc/tutorials/expenses/steps/08-expenses.py b/sources/pyside6/doc/tutorials/expenses/steps/08-expenses.py
index 907ee253b..040272b07 100644
--- a/sources/pyside6/doc/tutorials/expenses/steps/08-expenses.py
+++ b/sources/pyside6/doc/tutorials/expenses/steps/08-expenses.py
@@ -73,7 +73,6 @@ class Widget(QWidget):
self.add.setEnabled(False)
self.right = QVBoxLayout()
- self.right.setMargin(10)
self.right.addWidget(QLabel("Description"))
self.right.addWidget(self.description)
self.right.addWidget(QLabel("Price"))
diff --git a/sources/pyside6/doc/tutorials/expenses/steps/09-expenses.py b/sources/pyside6/doc/tutorials/expenses/steps/09-expenses.py
index 7c4f7b252..9484c741b 100644
--- a/sources/pyside6/doc/tutorials/expenses/steps/09-expenses.py
+++ b/sources/pyside6/doc/tutorials/expenses/steps/09-expenses.py
@@ -44,7 +44,7 @@ from PySide6.QtGui import QAction, QPainter
from PySide6.QtWidgets import (QApplication, QHeaderView, QHBoxLayout, QLabel, QLineEdit,
QMainWindow, QPushButton, QTableWidget, QTableWidgetItem,
QVBoxLayout, QWidget)
-from PySide6.QtCharts import QtCharts
+from PySide6.QtCharts import QChartView
class Widget(QWidget):
@@ -64,7 +64,7 @@ class Widget(QWidget):
self.table.horizontalHeader().setSectionResizeMode(QHeaderView.Stretch)
# Chart
- self.chart_view = QtCharts.QChartView()
+ self.chart_view = QChartView()
self.chart_view.setRenderHint(QPainter.Antialiasing)
# Right
@@ -79,7 +79,6 @@ class Widget(QWidget):
self.add.setEnabled(False)
self.right = QVBoxLayout()
- self.right.setMargin(10)
self.right.addWidget(QLabel("Description"))
self.right.addWidget(self.description)
self.right.addWidget(QLabel("Price"))
diff --git a/sources/pyside6/doc/tutorials/expenses/steps/10-expenses.py b/sources/pyside6/doc/tutorials/expenses/steps/10-expenses.py
index 1ad6c3743..f768b984a 100644
--- a/sources/pyside6/doc/tutorials/expenses/steps/10-expenses.py
+++ b/sources/pyside6/doc/tutorials/expenses/steps/10-expenses.py
@@ -41,10 +41,10 @@
import sys
from PySide6.QtCore import Qt, Slot
from PySide6.QtGui import QAction, QPainter
-from PySide6.QtWidgets import (QQApplication, QHeaderView, QHBoxLayout, QLabel, QLineEdit,
+from PySide6.QtWidgets import (QApplication, QHeaderView, QHBoxLayout, QLabel, QLineEdit,
QMainWindow, QPushButton, QTableWidget, QTableWidgetItem,
QVBoxLayout, QWidget)
-from PySide6.QtCharts import QtCharts
+from PySide6.QtCharts import QChartView, QPieSeries, QChart
class Widget(QWidget):
@@ -64,7 +64,7 @@ class Widget(QWidget):
self.table.horizontalHeader().setSectionResizeMode(QHeaderView.Stretch)
# Chart
- self.chart_view = QtCharts.QChartView()
+ self.chart_view = QChartView()
self.chart_view.setRenderHint(QPainter.Antialiasing)
# Right
@@ -79,7 +79,6 @@ class Widget(QWidget):
self.add.setEnabled(False)
self.right = QVBoxLayout()
- self.right.setMargin(10)
self.right.addWidget(QLabel("Description"))
self.right.addWidget(self.description)
self.right.addWidget(QLabel("Price"))
@@ -139,13 +138,13 @@ class Widget(QWidget):
@Slot()
def plot_data(self):
# Get table information
- series = QtCharts.QPieSeries()
+ series = QPieSeries()
for i in range(self.table.rowCount()):
text = self.table.item(i, 0).text()
number = float(self.table.item(i, 1).text())
series.append(text, number)
- chart = QtCharts.QChart()
+ chart = QChart()
chart.addSeries(series)
chart.legend().setAlignment(Qt.AlignLeft)
self.chart_view.setChart(chart)
diff --git a/sources/pyside6/doc/tutorials/index.rst b/sources/pyside6/doc/tutorials/index.rst
index 82408ce93..09d24f9b9 100644
--- a/sources/pyside6/doc/tutorials/index.rst
+++ b/sources/pyside6/doc/tutorials/index.rst
@@ -146,6 +146,7 @@ names and how they look like.
:text: Styling the Widgets Application
:classes: btn-link btn-block stretched-link
+
.. toctree::
:hidden:
@@ -160,22 +161,81 @@ names and how they look like.
basictutorial/widgetstyling.rst
-
Quick/QML: Basic tutorials
--------------------------
+.. panels::
+ :container: container-lg pb-1
+ :column: col-lg-4 col-md-4 col-sm-6 col-xs-12 p-2
+ :img-top-cls: d-flex align-self-center
+
+ :img-top: basictutorial/greenapplication.png
+
+ .. link-button:: basictutorial/qml
+ :type: ref
+ :text: Your First QtQuick/QML Application
+ :classes: btn-link btn-block stretched-link
+ ---
+ :img-top: qmlintegration/textproperties_material.png
+
+ .. link-button:: qmlintegration/qmlintegration
+ :type: ref
+ :text: Python-QML integration
+ :classes: btn-link btn-block stretched-link
+ ---
+ :img-top: qmlapp/qmlapplication.png
+
+ .. link-button:: qmlapp/qmlapplication
+ :type: ref
+ :text: QML Application Tutorial (QtCreator)
+ :classes: btn-link btn-block stretched-link
+ ---
+ :img-top: qmlsqlintegration/example_list_view.png
+
+ .. link-button:: qmlsqlintegration/qmlsqlintegration
+ :type: ref
+ :text: QML, SQL and PySide Integration Tutorial
+ :classes: btn-link btn-block stretched-link
+
+
.. toctree::
:maxdepth: 1
+ :hidden:
basictutorial/qml.rst
qmlintegration/qmlintegration.rst
qmlapp/qmlapplication.rst
qmlsqlintegration/qmlsqlintegration.rst
-..
+
+General Applications
+--------------------
+
+.. panels::
+ :container: container-lg pb-1
+ :column: col-lg-4 col-md-4 col-sm-6 col-xs-12 p-2
+ :img-top-cls: d-flex align-self-center
+
+ :img-top: datavisualize/images/datavisualization_app.png
+
+ .. link-button:: datavisualize/index
+ :type: ref
+ :text: Data Visualization Tool
+ :classes: btn-link btn-block stretched-link
+ ---
+ :img-top: expenses/expenses_tool.png
+
+ .. link-button:: expenses/expenses
+ :type: ref
+ :text: Expenses Tool
+ :classes: btn-link btn-block stretched-link
+
+.. toctree::
+ :hidden:
+
datavisualize/index.rst
-..
expenses/expenses.rst
+
C++ and Python
--------------