ttk.tkinter.Notebook does not refresh notebook page on Mac unless mouse moves out of tab area
未關閉
還沒有人認領這個 Issue。
OS-mac
stdlib
topic-tkinter
type-bug
- 主要語言
- Python
- 星號
- 77.2k
- 分支
- 36k
- PR 合併指標
- PR 指標待擷取
描述
Bug report
Bug description:
Test Code:
from tkinter import *
from tkinter.ttk import Notebook
mw = Tk()
mw.title("Notebook Test")
mw.geometry(f"{800}x{800}")
main_page_frame = Frame(mw, borderwidth=1, relief='ridge')
main_page_frame.pack(side='top', expand=1, fill='both')
notebook = Notebook(main_page_frame)
notebook.pack(expand=1, fill='both')
for info in ("one", "two", "three"):
frame = Frame(mw)
Label(frame, text=info).pack()
notebook.add(frame, text=info)
mw.mainloop()
Test Computer
MacOS Sequoia: Version 15.3.1
Problem
prepare
Click on the three tabs, one after another. The behaviour is what one would expect
execution
- carefully click on a new tab... but don't move the mouse once you have clicked
problem
- the notebook page does not refresh (i.e. you won't see the label within the notebook)
- if you move the mouse carefully just within the tab name area, nothing happens
- if you move the mouse outside of this area, the label will suddenly appear.
Note
Tried this on a windows machine, and the behaviour as it should be, so this problem seems to be a MAC problem (don't have a linux machine so can't try there).
According to the documentation, the MAC python 3.13 has its own version of Tcl/Tk, so maybe this is a Tcl/Tk problem, and not a python problem?
CPython versions tested on:
3.13
Operating systems tested on:
macOS
貢獻指南
從這裡開始
- 先讀完整個 Issue,再讀專案的貢獻指南。
- 在 Issue 下留言說明你要接手 —— 這能避免兩個人做同樣的事。
- Fork 儲存庫,在一個分支上完成修改。
- 送出 Pull Request,並在描述裡引用這個 Issue 編號。
研究方向
首先,在 macOS Sequoia 上使用 Python 3.13 執行隨附的 Notebook 範例,並將點擊分頁時的行為與 Windows 進行比較。閱讀 tkinter Notebook 的實作,以及報告中提到的 macOS Tcl/Tk 行為。完成標準是:選取分頁後,其頁面會立即顯示,無需將滑鼠移出分頁區域。
由索引模型根據 Issue 內容生成。
評估
- 技術堆疊
- python
- 領域
- desktop
- Issue 類型
- 缺陷
- 難度
- 4/5
- 預估耗時
- 3-5 天
- 活躍度
- 停滯
- 描述清晰度
- 基本清楚
- 新手友好度
- 42/100