質問編集履歴
1
コードの修正、質問文の修正
test
CHANGED
File without changes
|
test
CHANGED
@@ -1,12 +1,19 @@
|
|
1
|
+
質問文を訂正しました。
|
2
|
+
よろしくお願いいたします。
|
3
|
+
|
1
4
|
### 実現したいこと
|
2
5
|
ラジオボタンを選択後、valueの値を変数に入れたい
|
3
6
|
|
4
7
|
### 前提
|
5
8
|
素人で恐縮ですが、ご質問お願いします。
|
6
9
|
関数内に、「あり」「なし」の2つのラジオボタンを作成しました。
|
7
|
-
変数 var に、選択したラジオボタンのvalue値を入れるよう
|
10
|
+
変数 var に、選択したラジオボタンのvalue値を入れるように記載しました。。
|
8
11
|
しかし、処理したい関数が離れているためか、
|
9
12
|
すべて var = 0で返って来てしまいます。
|
13
|
+
|
14
|
+
「内服」ボタンクリック→日数表示のラジオボタン(ありorなし)選択→「1.貼付&実行&コピー」ボタンクリック
|
15
|
+
→print()で変数var確認も、ありorなしのいずれも0になる
|
16
|
+
→ありをvar=1、なしをvar=0で入れたい。
|
10
17
|
|
11
18
|
グローバル変数も試してみましたが、結果は同じでした。
|
12
19
|
離れた関数で、1つの変数 varを扱うのは難しいでしょうか?
|
@@ -16,15 +23,46 @@
|
|
16
23
|
###
|
17
24
|
Python 3.6, tkinter使用
|
18
25
|
###
|
26
|
+
```
|
27
|
+
# root.py #######################################################################
|
28
|
+
import tkinter
|
29
|
+
from main_1gyou import gyou1_click
|
30
|
+
|
31
|
+
# ウインドウの作成
|
32
|
+
root = tkinter.Tk()
|
33
|
+
root.title('Y')
|
34
|
+
root.geometry('270x60+0+920')
|
35
|
+
root.resizable(0, 0)
|
36
|
+
|
37
|
+
# 色・フォントの設定
|
38
|
+
normal_font = ('Meiryo UI', 7)
|
39
|
+
bold_font = ('Meiryo UI', 12, 'bold')
|
40
|
+
bg_color = '#87CEFA'
|
41
|
+
button_color = '#468284'
|
42
|
+
root.config(bg=bg_color)
|
43
|
+
|
44
|
+
# ボタン
|
45
|
+
gyou1_start_button = tkinter.Button(root, text='内服', font=bold_font, fg='black',
|
46
|
+
bg='#c5edcd')
|
47
|
+
|
48
|
+
gyou1_start_button.place(x=5, y=6, width=80, height=40)
|
49
|
+
|
50
|
+
# ---------------関数の作成--------------------------------------
|
51
|
+
def gyou1_start_click():
|
52
|
+
gyou1_click()
|
53
|
+
|
54
|
+
# --------------ボタン押し実行処理-----------------
|
55
|
+
gyou1_start_button["command"] = gyou1_start_click
|
56
|
+
# -------------------------------------------------------------
|
57
|
+
|
58
|
+
# ウインドウのループ処理
|
59
|
+
root.attributes("-topmost", True)
|
60
|
+
root.mainloop()
|
19
61
|
|
20
62
|
|
21
|
-
import re
|
22
|
-
|
63
|
+
#main_1gyou.py##################################################################
|
64
|
+
|
23
65
|
import tkinter
|
24
|
-
from tkinter.scrolledtext import ScrolledText
|
25
|
-
|
26
|
-
#---------------------------------------------------------------------
|
27
|
-
メインの画面より遷移した画面のプログラムになります。
|
28
66
|
|
29
67
|
def gyou1_click():
|
30
68
|
#最初の画面に戻る
|
@@ -63,18 +101,18 @@
|
|
63
101
|
radiobutton_1.place(x=30, y=0)
|
64
102
|
radiobutton_2.place(x=30, y=30)
|
65
103
|
|
104
|
+
|
105
|
+
start_button_gyou1 = tkinter.Button(root_gyou1, text='1.貼付&実行&処理', font=bold_font_gyou1, fg='white',
|
66
|
-
|
106
|
+
bg=button_color_gyou1)
|
107
|
+
start_button_gyou1.place(x=280, y=530, width=200, height=70)
|
67
108
|
# ---------------関数の作成--------------------------------------
|
68
109
|
# ②実行
|
69
110
|
def start_click_gyou1():
|
70
|
-
paste_gyou1 = root_gyou1.clipboard_get()
|
71
|
-
input_box_gyou1.insert("1.0", paste_gyou1)
|
72
|
-
|
73
111
|
global var
|
74
112
|
chk = int(var.get())
|
75
113
|
print(chk)
|
76
114
|
|
77
|
-
~~~~~~~~~~~省略~~~~~~~~~~~~~~~
|
115
|
+
#~~~~~~~~~~~省略~~~~~~~~~~~~~~~
|
78
116
|
|
79
117
|
# --------------ボタン押し実行処理-----------------
|
80
118
|
start_button_gyou1["command"] = start_click_gyou1 # ②
|
@@ -83,6 +121,7 @@
|
|
83
121
|
# ウインドウのループ処理
|
84
122
|
root_gyou1.mainloop()
|
85
123
|
|
124
|
+
```
|
86
125
|
|
87
126
|
### 試したこと
|
88
127
|
1.ラジオボタンの変数 var をグローバル変数に。→すべて0で返る
|