在pyqt4中打开新窗口

2024-09-29 02:17:41 发布

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

我一直在尝试使用PyQt4创建GUI。我没有太多使用PyQt4或OOP的经验

我想有一个主窗口,可以绘制一些图表,但也有一些按钮,这将打开新的窗口

从多个教程中,我收集了以下代码:

from matplotlib.backends.backend_qt4agg import NavigationToolbar2QT as NavigationToolbar
from matplotlib.figure import Figure



class Window1(QtGui.QMainWindow):
    def __init__(self):
        super(Window, self).__init__()




class Window(QtGui.QDialog):
    def __init__(self):
        super(Window, self).__init__()
        self.setGeometry(50, 50, 800, 600)
        self.setWindowTitle("App")


        self.figure = Figure()
        self.button = QtGui.QPushButton('Plot')
        self.button.clicked.connect(self.plot)
        self.button1 = QtGui.QPushButton('Count')
        self.button1.clicked.connect(self.show_count)
        self.count = Window1(self)
        layout = QtGui.QVBoxLayout()
        layout.addWidget(self.toolbar)
        layout.addWidget(self.canvas)
        layout.addWidget(self.button)
        layout.addWidget(self.button1)

    def plot(self): #some random stuff for now
        list1 = [3,4,5,6,9,12]
        list2 = [8,12,14,15,17,20]



        ax = self.figure.add_subplot(111)


        ax.clear()


        ax.plot(list1, list2)

        self.canvas.draw()  

    def show_count(self):
        self.count.show()

首先,我经常会遇到这样的错误: TypeError:init()接受1个位置参数,但给出了2个

第二,有没有办法在新窗口中打印某种表格,在新窗口中将显示列表的某些元素


Tags: selfplotinitdefshowcountbuttonax
1条回答
网友
1楼 · 发布于 2024-09-29 02:17:41

要显示表格,请执行以下操作:

QTableWidget

The QTableWidget class provides an item-based table view with a default model.

Table widgets provide standard table display facilities for applications. The items in a QTableWidget are provided by QTableWidgetItem

对于您的错误:

TypeError:init()接受1个位置参数,但给出了2个

而不是

self.count = Window1(self)

使用:

self.count = Window1()

相关问题 更多 >