我创建了两个类 - QMainWindow,它是从QtDesigner和QWidget幻灯片生成的,仅在执行时才能完美运行。我设法合并MainWindow类中的小部件,并且当我单击幻灯片按钮时它执行正常但是图像没有显示并给出此错误:
clicks
这可能是一个小错误,但我仍然是PyQt的新手,而且我已经尝试了将近一天摆弄它现在大声笑。任何帮助将一如既往地受到赞赏!
以下是完整代码:
for (var i = 0; i < this.data.length; i++) {
var item = this.data[i];
this.svg.append("rect")
.attr("class", "interval")
.attr("y", offset + item['start'] * max_height / 86400)
.attr("x", horz_inset)
.attr("height", item['length'] * max_height / 86400)
.attr("width", width - 2 * horz_inset)
.on("click", function () {
this.events.publish('intervals', this.data);
});
}
答案 0 :(得分:3)
问题在于您在Slides
MainWindow.__init__
个实例的行
self.slides_widget = Slides(self)
您在self
变量而不是MainWindow
的位置传递image_files
(在parent
的实例中读取)。查看您的Slides.__init__
class Slides(QtGui.QWidget):
def __init__(self, image_files, parent=None):
parent
变量具有默认值None
,因此在实例创建期间不会触发任何错误。但是,当您尝试将TypeError
视为列表时,您会收到image_files
(请记住您已放置image_files=self
(MainWindow
实例))。
只需使用:
self.slides_widget = Slides(image_files, self)
取而代之的是MainWindow.__init__