我正在尝试从其类的外部设置StackedWidget的索引,但是遇到一个错误,即该对象没有属性。我的代码如下(我为缩进造成了歉意,没有正确粘贴):
> zzz <- read.table(textConnection(captureOutput(print(z.df))),
stringsAsFactors=FALSE)
> zzz
ID weight detail2.height detail2.gender detail2.name
1 1 200 NULL NULL NULL
2 2 300 NULL NULL NULL
3 3 400 6.5 M John
4 4 500 NULL NULL NULL
5 5 600 5.5 F Jane
> str(zzz)
'data.frame': 5 obs. of 5 variables:
$ ID : int 1 2 3 4 5
$ weight : int 200 300 400 500 600
$ detail2.height: chr "NULL" "NULL" "6.5" "NULL" ...
$ detail2.gender: chr "NULL" "NULL" "M" "NULL" ...
$ detail2.name : chr "NULL" "NULL" "John" "NULL" ...
单击按钮时出现错误:
类型对象'ut_Screen1'没有属性'StackBot'
谢谢您的指导。
答案 0 :(得分:1)
我认为您对OOP的了解较差,因此建议您复习它们。
类是一个抽象概念,它仅对使用该类创建的对象的行为建模,因此ut_Screen1不是对象,而是类的名称。只有对象可以使用该类的非静态方法。总之,您不应使用ut_Screen1。
一种可能的解决方案是使用MainWindow类的myWindow对象访问名为start_screen的ut_Screen1类的对象:
def ut_ButtonClicked(name):
try:
if name == "Button1":
myWindow.start_screen.StackBot.setCurrentIndex(1)
except Exception as e:
print(e)