小编Tan*_*ang的帖子

我怎样才能从Python引用Kivy的Root Widget?

在Kivy语言中,可以使用类似的东西来引用根小部件

<RootWidget>:
    BoxLayout:
        SomeButton:
            on_press: print root
Run Code Online (Sandbox Code Playgroud)

但尝试从Python访问root是不可能的

class SomeButton(Button):
    def __init__(self, **kwargs):
        super(SomeButton, self).__init__(**kwargs)
        self.text = "Button"
        self.font_size = 15
    def on_press(self, *args):
        print root
Run Code Online (Sandbox Code Playgroud)

并将导致

NameError: global name 'root' is not defined
Run Code Online (Sandbox Code Playgroud)

或者如果使用self.root,

AttributeError: 'SomeButton' object has no attribute 'root'
Run Code Online (Sandbox Code Playgroud)

python-2.7 kivy

12
推荐指数
3
解决办法
8360
查看次数

为什么在 C 语言中使用函数之前需要先声明函数?

在 C99 中,如果在声明之前调用函数,编译器将发出警告。例如,这将导致警告:

int sum(const int k) {
  return accsum(k, 0);
}


int accsum(const int k, const int acc) {
  if (k == 0) {
    return acc;
  } else {
    return accsum(k-1, k + acc);
  }
}

int main() {
  int x = sum(3);
  return 0;
}
Run Code Online (Sandbox Code Playgroud)

我在谷歌搜索后看到的答案是需要声明,以便编译器可以检查参数类型以避免错误。但是,当从 sum 内部调用 accsum 时,为什么编译器不能在执行 accsum 之前先找到 accsum 的函数定义呢?

c c99

8
推荐指数
2
解决办法
9653
查看次数

在Android Studio中滚动过去的底部?

在Android Studio中,当我输入新代码时,我总是在文件的底部.这意味着当我输入时,我总是盯着屏幕的底部,这真的很烦人.有没有办法配置Android Studio滚动文件的底部,所以最后一行可以在屏幕的中心?有一个关于Eclipse的同一主题的问题在这里,这个问题的答案是否定的.只是想知道这是否可以在Android Studio中使用?我目前只是在编码之前在我创建的每个文件的末尾键入~50个新行,但这只是非常不优雅.

android-studio

8
推荐指数
1
解决办法
647
查看次数

为什么我们不能在C中多次初始化结构?

为什么这在C中是非法的?将p重新初始化为不同的位置有什么问题?通过单独更改字段值可以实现相同的效果,因此我不明白为什么不能在p = {1,2}的一个步骤中完成.

struct posn {
    int x;
    int y;
};

int main() {
    struct posn p = {3, 4};
    p = {1, 2}; //Causes error
    // must do p.x = 1; p.y = 2;
    return 0;
}
Run Code Online (Sandbox Code Playgroud)

c

2
推荐指数
1
解决办法
154
查看次数

标签 统计

c ×2

android-studio ×1

c99 ×1

kivy ×1

python-2.7 ×1