我一直在尝试使用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个
第二,有什么方法可以在新窗口中打印某种表格,其中会显示列表的某些元素?
答案 0 :(得分:0)
显示表格:
QTableWidget
QTableWidget类提供具有默认模型的基于项目的表视图。
表小部件为应用程序提供标准的表显示功能。 QTableWidgetItem中提供了QTableWidget中的项目
对于您的错误:
TypeError:init()接受1个位置参数,但给出了2个
代替
self.count = Window1(self)
使用:
self.count = Window1()