ボタンをクリックしてDB2データベーステーブルを照会しているウィンドウが開き、ウィンドウにレコードがフェッチされます。Tkinterウィンドウがフリーズし、タイトルバーからウィンドウを移動すると、それが動作し始めます。
テーブルの数が少ない場合、クエリボタンをクリックした後、私のウィンドウにレコードが正しく表示されます。
しかし、他の多くのテーブルでは、[クエリ]ボタンをクリックすると、ウィンドウがフリーズします。今、マウスボタンを使ってタイトルバーでウインドウを移動すると、ウインドウが素早くフリーズされ、データベーステーブルからすべてのレコードが正しく取得されます。
Text
ウィジェットに各レコードフィールドを表示しています。
以前、Text
ウィジェットの代わりにLabel
ウィジェットを使用していたときに、この問題は発生しませんでした。
これは、実行時にText
ウィジェットを作成する方法です。
fld_name = Text(self.response_frame, background='yellow', relief=GROOVE,
borderwidth=1, height=1)
val_text = str(ibm_db.field_name(result, i)) # I am getting the value from DB2 database here
fld_name.configure(width=len(val_text) + 5) # As the Text widget doesn't auto-resize, so I am configuring it's size.
fld_name.insert(1.0, val_text)
fld_name['state'] = 'disabled'
fld_name.grid(column=i, row=j, sticky=(W, E))
お勧めします。
ありがとうございました。