相关疑难解决方法(0)

清除pyqt中布局中的所有小部件

有没有办法清除(删除)布局中的所有小部件?

self.plot_layout = QtGui.QGridLayout()
self.plot_layout.setGeometry(QtCore.QRect(200,200,200,200))
self.root_layout.addLayout(self.plot_layout)
self.plot_layout.addWidget(MyWidget())
Run Code Online (Sandbox Code Playgroud)

现在我想plot_layout用新的小部件替换小部件.是否有一种简单的方法可以清除所有小部件plot_layout?我没有看到任何这样的方法.

python qt pyqt pyqt4

38
推荐指数
6
解决办法
5万
查看次数

pyqtgraph,绘制时间序列

我正在尝试用pyqtgraph绘制时间序列。我已经看过 这个这个这个。但是我不确定如何正确使用它。

我的情节是情节小部件,我以这种方式使用它:

graph.plot(aerosol_data, pen=pg.mkPen(color=colors[count], width=1, style=QtCore.Qt.SolidLine), axisItems={'bottom': TimeAxisItem(orientation='bottom')})
Run Code Online (Sandbox Code Playgroud)

TimeAxisItem的定义如下:

class TimeAxisItem(pg.AxisItem):
    def __init__(self, *args, **kwargs):
       super().__init__(*args, **kwargs)

    def tickStrings(self, values, scale, spacing):
        # PySide's QTime() initialiser fails miserably and dismisses args/kwargs
        return [useful_values_dict['useful_data']['data']['ISO_dates']]
Run Code Online (Sandbox Code Playgroud)

其中ISO_dates是ISO格式的日期和时间列表

我也尝试过这个:

graph.plotItem.plot(aerosol_data, pen=pg.mkPen(color=colors[count], width=1, style=QtCore.Qt.SolidLine), axisItems={'bottom': TimeAxisItem(orientation='bottom')})
Run Code Online (Sandbox Code Playgroud)

但没有效果(轴字符串是Stil数字)。

然后,我尝试通过以下方式使用DateTimeAxis.py:

date_axis = pg.DateAxisItem('bottom', pen=None, linkView=None, parent=None, maxTickLength=-1, showValues=True)
date_axis.tickStrings(useful_values_dict['useful_data']['data']['timestamp_dates'],1, 1)
Run Code Online (Sandbox Code Playgroud)

但我得到一个错误:

File "C:\Python34\lib\site-packages\pyqtgraph\graphicsItems\DateAxisItem.py", line 161, in tickStrings
format_strings.append(x.strftime(tick_spec.format))
AttributeError: 'NoneType' object has no attribute 'format'
Run Code Online (Sandbox Code Playgroud)

python plot datetime pyqtgraph

2
推荐指数
1
解决办法
4116
查看次数

标签 统计

python ×2

datetime ×1

plot ×1

pyqt ×1

pyqt4 ×1

pyqtgraph ×1

qt ×1