第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機(jī)立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

簡單的 tkinter 按鈕適用于 Python 3.5

簡單的 tkinter 按鈕適用于 Python 3.5

慕田峪9158850 2021-11-30 15:58:18
在 MacOS 10.12.6 上的 Python 3.6 和 3.7 上, atkinter.Button最初不會響應(yīng)點(diǎn)擊 - 但相同的代碼在 Python 3.5 上運(yùn)行良好。如果我運(yùn)行以下腳本:import tkinter as tkroot = tk.Tk()button = tk.Button(root, text='Button')button.pack()root.mainloop()然后在 Python 3.6 和 3.7 上,按預(yù)期出現(xiàn)一個帶有單個按鈕的窗口,它在視覺上沒有被禁用,但單擊它沒有任何效果。調(diào)整窗口大小或單擊其中的其他位置并不能解決問題。但是,如果我將另一個應(yīng)用程序置于前臺,然后將 Python 應(yīng)用程序置于前臺,則一切正常,然后我無法使問題再次出現(xiàn)。在 Python 3.5 中,運(yùn)行測試腳本會啟動應(yīng)用程序,并且按鈕會立即響應(yīng)點(diǎn)擊——正如預(yù)期的那樣。實(shí)驗(yàn)無法重現(xiàn) 3.5 中的任何問題。如果tkinter被替換為Tkinter.將pack布局管理器更改grid為完全相同的結(jié)果。我什至重新啟動了機(jī)器,沒有任何變化。我?guī)缀?100% 確定 Python 3.6 和 Python 3.7 二進(jìn)制文件和庫處于良好狀態(tài)。它們本質(zhì)上是全新安裝,因?yàn)槲彝耆?virtualenvs 中工作。tkinter除了這個問題之外,我的非平凡應(yīng)用程序在 Python 3.5、3.6 和 3.7 上的運(yùn)行完全相同。
查看完整描述

1 回答

?
墨色風(fēng)雨

TA貢獻(xiàn)1853條經(jīng)驗(yàn) 獲得超6個贊

我沒有要測試的 Mac,但您的問題聽起來與在主循環(huán)完成第一個完整循環(huán)之前打開文件對話框時在 Windows 上可能發(fā)生的焦點(diǎn)問題非常相似。該問題具有相同的癥狀,例如不允許焦點(diǎn)回到窗口,直到您啟動其他應(yīng)用程序然后返回到 tkinter 應(yīng)用程序然后它才能工作。

糾正焦點(diǎn)問題的方法是root.update_idletasks()在問題之前應(yīng)用(即在打開文件對話框之前),在這種情況下,就在您的按鈕之前。

正如 OP 所指出的,他們必須root.update_idletasks()在小部件之前和之后添加,我不確定為什么這是 OSX 的修復(fù)程序。對于那些在 Mac 上遇到相同問題的人,請繼續(xù)嘗試使用此選項(xiàng)來解決問題。


查看完整回答
反對 回復(fù) 2021-11-30
  • 1 回答
  • 0 關(guān)注
  • 199 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學(xué)習(xí)伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號