当前位置:   article > 正文

PyQt5可视化开发_python 上位机数字大屏

python 上位机数字大屏

pyuic

将.ui文件转为.py文件

python -m PyQt5.uic.pyuic demo.ui -o demo.py
  • 1

数据库

使用sqllite数据库进行增加(Create)、检索(Retrieve)、更新(Update)和删除(Delete)操作。
对于数据库内的数据可视化,使用SQLite Expert Personal,下载地址

数据库建表报错

报错信息: AUTOINCREMENT is only allowed on an INTEGER PRIMARY KEY
需要大写奥‘INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL’

sql = 'CREATE TABLE if not exists stuinfo (id INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL, name String(10), grade String(20), pwd String(20), code String(20))'
  • 1

vertical Layout清空内容

清空layout中所有对象
参考
结合前面的注意事项,清空一个layout中所有对象控件的代码如下:

item_list = list(range(self._ui.myLayout.count()))
item_list.reverse()# 倒序删除,避免影响布局顺序

for i in item_list:
	item = self._ui.myLayout.itemAt(i)
	self._ui.myLayout.removeItem(item)
	if item.widget():
		item.widget().deleteLater()
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8

自己用到的代码:
清空一个

if self.verticalLayout.count() !=0 :
   item = self.verticalLayout.itemAt(0)
   item.widget().deleteLater()
  • 1
  • 2
  • 3

关键代码总结

item_list.reverse()是为了反转序列的顺序,从而实现倒序删除layout中元素的效果。
myLayout.removeItem(item)是为了删除layout中的QLayoutItem对象
item.widget().deleteLater()是为了删除item中的widget对象

pyqtgraph画图

import pyqtgraph as pg
plt = pg.PlotWidget(title='成绩统计图')
plt.setBackground('w')
plt.setLabel('left', '成绩')
plt.setLabel('bottom', 'time')
plt.addLegend()
x = np.array(range(4))
xticks = [list(zip(range(4), ('a', 'b', 'c', 'd')))]
xaxis = plt.getAxis('bottom')
xaxis.setTicks(xticks)
# x_label = np.array(
#     ['128iodp_8jobs_60K_1pan', '128iodp_16jobs_1M_1pan', '128iodp_8jobs_60K_4pan', '128iodp_16jobs_1M_4pan'])
temp_map = {}
temp_map['xTick'] = [(0, '2021-01-01'),(1, '2021-02-0'),(2, '2021-03-01'),(3, '2021-04-01'),(4, '2021-05-01'),(5, '2021-06-01'),(6, '2021-07-01')]
bw1 = np.array([235, 270, 753, 892])
plt.plot(x,bw1, pen=(255, 0, 0), name='成绩')
# plt.plot(np.random.normal(size=110) + 5, pen=(0, 255, 0), name='Green curve')
# plt.plot(np.random.normal(size=120) + 10, pen=(0, 0, 255), name='Blue curve')
# 图形插入pyqtlayout:
# plt.plot_data(temp_map)
# (x, labels=, rotation=0, ha='center')
self.verticalLayout.addWidget(plt)
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/煮酒与君饮/article/detail/746474
推荐阅读
相关标签
  

闽ICP备14008679号