当前位置:网站首页>Qchartview overwrites the previous control when it is added in qgridlayout
Qchartview overwrites the previous control when it is added in qgridlayout
2022-07-19 14:34:00 【Beginner Xiaobai Lu】
problem
QChartView Add in QGridLayout The previous control is overwritten when in , Display only QChart
import sys
from random import uniform, random
from PySide2.QtCharts import QtCharts
from PySide2.QtCore import QPointF
from PySide2.QtGui import QPainter
from PySide2.QtWidgets import QWidget, QGridLayout, QApplication
class MainWidget(QWidget):
def __init__(self):
super(MainWidget, self).__init__()
self.main_layout = QGridLayout()
self.setLayout(self.main_layout)
widegt1 = QWidget()
widegt1.setStyleSheet("background-color: red")
widget2 = QWidget()
widget2.setStyleSheet("background-color: red")
self.main_layout.addWidget(widegt1, 0, 0, 3, 2)
self.main_layout.addWidget(widget2, 0, 2, 2, 1)
self.list_count = 3
self.value_max = 10
self.value_count = 7
self.data_table = self.generate_random_data(self.list_count,
self.value_max, self.value_count)
chart_view = QtCharts.QChartView(self.createSplineChart())
chart_view.setRenderHint(QPainter.Antialiasing)
self.main_layout.addWidget(chart_view, 2, 2, 1, 1)
# self.main_layout.setColumnStretch(0, 1)
# self.main_layout.setColumnStretch(1, 1)
# self.main_layout.setColumnStretch(2, 1)
# self.main_layout.setRowStretch(0, 1)
# self.main_layout.setRowStretch(1, 1)
# self.main_layout.setRowStretch(2, 1)
def createSplineChart(self):
chart = QtCharts.QChart()
chart.setTitle("Spline chart")
name = "Series "
for i, lst in enumerate(self.data_table):
series = QtCharts.QSplineSeries(chart)
for data in lst:
series.append(data[0])
series.setName("{}{}".format(name, i))
chart.addSeries(series)
chart.createDefaultAxes()
chart.axisX().setRange(0, self.value_max)
chart.axisY().setRange(0, self.value_count)
# Add space to label to add space between labels and axis
chart.axisY().setLabelFormat("%.1f ")
return chart
def generate_random_data(self, list_count, value_max, value_count):
data_table = []
for i in range(list_count):
data_list = []
y_value = 0
for j in range(value_count):
constant = value_max / float(value_count)
y_value += uniform(0, constant)
x_value = (j + random()) * constant
value = QPointF(x_value, y_value)
label = "Slice {}: {}".format(i, j)
data_list.append((value, label))
data_table.append(data_list)
return data_table
if __name__ == "__main__":
app = QApplication(sys.argv)
window = MainWidget()
# available_geometry = app.desktop().availableGeometry(window)
# size = available_geometry.height() * 0.75
# window.resize(size, size * 0.8)
window.show()
sys.exit(app.exec_())

terms of settlement
Set the proportion of each column and row
Add the following code :
self.main_layout.setColumnStretch(0, 1)
self.main_layout.setColumnStretch(1, 1)
self.main_layout.setColumnStretch(2, 1)
self.main_layout.setRowStretch(0, 1)
self.main_layout.setRowStretch(1, 1)
self.main_layout.setRowStretch(2, 1)

边栏推荐
猜你喜欢

TongWeb生产系统应急处理方案

Homework on the first day of summer rhcsa training

手册不全,如何手工刨出TongWeb的监控信息?
![[Flink] Flink will report an error if it fails to set checkpoints once. Setlerablecheckpointfailurenumber does not work](/img/62/5761d8d7b2d8ea1bc74b609b6aa3c7.jpg)
[Flink] Flink will report an error if it fails to set checkpoints once. Setlerablecheckpointfailurenumber does not work

Redis源码与设计剖析 -- 3.字典

Huawei technologies:jonathan Krolikowski | from design to deployment, zero contact deep reinforcement learning WLANs

A Classical Review of nonconvex optimization problems from Symmetry to Geometry, Rochester University, etc.

Si446 usage record (III): match function

Explain C language dynamic memory management in detail

【MQTT从入门到提高系列 | 07】MQTT3.1.1之链路保活及断开
随机推荐
Méthode de compilation de la courbe RPS d'O'Neill (originale par le Dr Tao)
Colliding Mice碰撞老鼠工程分析
贝塞尔曲线简单介绍
js刷题练习---牛客网
Take a look at try{}catch{}
敏捷的第一步:把 “迭代” 变为 “冲刺” 开始!
2021 national vocational college skills competition network construction and application events
Codeforces Round #808 (Div. 1)(A~C)
Unity subtitle scrolling
JS question brushing exercise - niuke.com
JVM performance optimization
The manual is not complete. How to manually dig out the monitoring information of tongweb?
单片机软件定时器V2.0
论文阅读 TEMPORAL GRAPH NETWORKS FOR DEEP LEARNING ON DYNAMIC GRAPHS
Minuterie logicielle à puce unique v2.0
歐奈爾的RPS曲線的編制方法(陶博士原創)
Redis源码与设计剖析 -- 4.跳跃表
Redis源码与设计剖析 -- 2.链表
Huawei wireless device configuration dynamic load balancing
AcWing 274. 移动服务【DP】