当复选框被选中时,在Python(使用PyQt4)显示图表

2024-09-27 21:22:52 发布

您现在位置:Python中文网/ 问答频道 /正文

我是Python的新手,我正试图用PyQt4制作我的第一个程序。我的问题基本上如下:我有两个复选框(Plot1和Plot2),以及一个“End”按钮,在我的类中。当我按End时,我只想看到用户使用matplotlib检查的打印。我不能那样做。我的第一个想法是:

        self.endButton.clicked.connect(self.PlotandEnd)
        self.plot1Checkbox.clicked.connect(self.Plot1)
        self.plot2Checkbox.clicked.conncet(self.Plot2)

    def PlotandEnd(self)
        plot1=self.Plot1()
        pyplot.show(plot1)
        plot2=self.Plot2()
        pyplot.show(plot2)

    def Plot1(self)
        plot1=pyplot.pie([1,2,5,3,2])
        return plot1

    def Plot2(self)
        plot2=pyplot.plot([5,3,5,8,2])
        return plot2

当然,这不起作用,因为“PlotandEnd”将同时绘制两个图形,而不管相应的复选框是什么。我怎么能做我想做的事?在


Tags: selfreturndefshowconnect复选框endpyplot
1条回答
网友
1楼 · 发布于 2024-09-27 21:22:52

在查看复选框状态的if语句中包装绘图创建。例如:

def PlotandEnd(self)
    if self.plot1Checkbox.isChecked():
        plot1=self.Plot1()
        pyplot.show(plot1)

    if self.plot2Checkbox.isChecked():
        plot2=self.Plot2()
        pyplot.show(plot2)

您也不需要以下几行:

^{pr2}$

现在这没什么用的!Qt从不使用PlotX()方法的返回值,您只希望在单击End按钮时发生事情,而不是单击复选框。PlotX()方法目前仅对您的PlotandEnd()方法有用。在

相关问题 更多 >

    热门问题