毎日すみません。
ダイアログ上のScrolledTextに ボタン押下から発火される関数で 値を格納しているつもりなのですが、画面に現れてきません。
試しにget()で内容を取得し ソレをメッセージボックスに表すようにしてみたのですが やはり値は格納されていないようです。
ダイアログ側のWidgetをうまく制御できていない、ということでしょうか?
画面をリフレッシュするような措置が必要なのでしょうか?
問題点をご指摘頂けますと幸いです、よろしくお願いします。
ちなみにSyntaxエラーは生じていません(ボタン押下すると空のメッセージボックスが表示される)
Python
1from tkinter import * 2import tkinter.ttk as ttk 3import tkinter.messagebox as tkMB 4import tkinter.scrolledtext as tksc 5import math 6 7def openDialog1(self): 8 9 self.dialog = Toplevel(self) 10 self.dialog.title("Script Menu") 11 12 #フォームサイズを実行端末から導き、ド真中に配置表示 13 lw = math.ceil(ww * 0.408) 14 lh = math.ceil(wh * 0.477) 15 self.dialog.geometry(str(lw)+"x"+str(lh)+"+"+str(int(ww/2-lw/2))+"+"+str(int(wh/2-lh/2)) ) 16 17 self.dialog.configure(menu=menu_top, bg="#F0FFFF") 18 self.dialog.resizable(0,0) 19 self.dialog.protocol('WM_DELETE_WINDOW', (lambda: 'pass')()) 20 21 # modalに 22 self.dialog.grab_set() 23 24 25 # ★ボタン★ 26 btn1 = Button(self.dialog, text='Execute', width=10, command=self.test) 27 btn1.grid(row=2, columnspan=11, pady=(0, 20)) 28 29 30 # ★スクロールドテキスト★ 31 self.scrtxt2 = tksc.ScrolledText(self.dialog, bg="silver", font=("Helvetica",11), state=DISABLED) 32 self.scrtxt2.grid(row=3, column=0, columnspan=11, sticky=W+E, padx=10)
Python
1def test(self): 2 self.scrtxt2.insert('end', 'Hello!') 3 tkMB.showinfo('結果',self.scrtxt2.get('1.0', 'end -1c'))
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2020/05/12 04:43 編集
2020/05/12 04:51