我正在尝试将QPushButton
放在PlotWidget
上。我当前的代码始终在按钮顶部具有plot小部件。如何将按钮移到QGridLayout
的前面?
还是PyQt5
中有更好的方法来覆盖小部件?
我尝试使用.raise__()
和.lower__()
都无法正常工作。
据我发现,PyQt5
中无法设置z值
更改将小部件添加到QGridLayout
的顺序无效
PlotWindow
类在Window控制器类的Stacked小部件以及其他一些类中使用
class MainWindow(QtWidgets.QMainWindow):
def __init__(self):
super(MainWindow, self).__init__()
self.central_widget = QtWidgets.QStackedWidget()
self.setCentralWidget(self.central_widget)
self.plot = PlotWindow(self)
self.central_widget.addWidget(self.plot)
self.central_widget.setCurrentWidget(self.plot)
self.show()
class PlotWindow(QtWidgets.QWidget):
def __init__(self, parent=None):
super(PlotWindow, self).__init__(parent)
plot_frame = pyqtgraph.PlotWidget()
self.connect_btn = QtWidgets.QPushButton("Connect", self)
plot_wrapper_layout = QtWidgets.QGridLayout()
plot_wrapper_layout.addWidget(plot_frame, 0, 0, 12, 12)
plot_wrapper_layout.addWidget(self.connect_btn, 11, 11, 1, 1)
self.setLayout(plot_wrapper_layout)
预期中:该按钮在图形的右下角顶部可见
结果:“连接”按钮隐藏在绘图小部件的后面
答案 0 :(得分:0)
plot_frame = pyqtgraph.PlotWidget(自身)。这会将图形小部件放在PlotWindow.children()中的按钮之前,该按钮可更改它们的呈现顺序。
Heikie的评论解决了该问题