teratail header banner
teratail header banner
質問するログイン新規登録

質問編集履歴

2

追記情報

2021/03/24 02:50

投稿

nugio.kutusita
nugio.kutusita

スコア21

title CHANGED
File without changes
body CHANGED
@@ -9,9 +9,18 @@
9
9
  AttributeError: 'MainScreen' object has no attribute 'type1'
10
10
  ということで呼び出せません。
11
11
 
12
+
12
13
  基本的なことが分かってないと思うのですが、ご教示お願いします。
13
14
 
15
+ ※追記
16
+ 色々調べたところ、idはインスタンス名ではない、ということは何となく理解できたのですが、
17
+ self.ids.xx を使った書き方や、プロパティを追加する?やり方があるようですが、
18
+ 結局どのように解決するのがいいのかにたどり着けていません。
14
19
 
20
+ また別のやり方として、
21
+ クラス変数に文字列をもって、type1のラベルがそれを参照するようにしている例を見つけたのですが、
22
+ 変数の内容が変わったら表示が更新される理由がわかりませんでした。
23
+
15
24
  ```python
16
25
 
17
26
  class MainScreen(BoxLayout):

1

内容の見直し

2021/03/24 02:49

投稿

nugio.kutusita
nugio.kutusita

スコア21

title CHANGED
File without changes
body CHANGED
@@ -1,15 +1,14 @@
1
1
  python初心者で、kivyを触るのは初めてです。
2
2
  練習にkivyで簡単なアプリを作っています。
3
3
 
4
- ボタンを押すとラベルのテキストを変える、というだけです。
5
-
6
4
  ボタンウィジェットからメインの関数を呼び出し、
7
- その関数の中でKVファイル内で作ったLabelに対して操作をしたいですが、(このテストではtextを変えようとしています)
5
+ その関数の中でKVファイル内で作ったウィジェットに対して操作をしたいです
8
- 呼び出せません。
9
6
 
7
+ 今のテスト段階では、ボタンを押すとラベルのテキストを変える、というだけです。
8
+ ここでは、0のボタンを押すとid:type1のtextを0にする、という操作がしたいのですが、
10
9
  AttributeError: 'MainScreen' object has no attribute 'type1'
10
+ ということで呼び出せません。
11
11
 
12
-
13
12
  基本的なことが分かってないと思うのですが、ご教示お願いします。
14
13
 
15
14