mirror of
https://github.com/python/cpython.git
synced 2025-08-22 09:45:06 +00:00
bpo-33656: On Windows, add API call saying that tk scales for DPI (GH-7137)
On Windows 8.1+ or 10, with DPI compatibility properties of the Python binary unchanged, and a monitor resolution greater than 96 DPI, this should make text and lines sharper. It should otherwise have no effect. Using a magnifier, I determined that the improvement comes from horizontal and lines being better lined up with the monitor pixels. I checked that this call causes no problem on any Windows buildbot, including the Win7 buildbots. Unlike most IDLE patches, this one can be easily reverted by users by removing a few lines, at the top of idlelib/pyshell.py.
This commit is contained in:
parent
0e5f901508
commit
800415e3df
5 changed files with 30 additions and 3 deletions
|
@ -8,6 +8,14 @@ except ImportError:
|
|||
print("** IDLE can't import Tkinter.\n"
|
||||
"Your Python may not be configured for Tk. **", file=sys.__stderr__)
|
||||
raise SystemExit(1)
|
||||
|
||||
if sys.platform == 'win32':
|
||||
import ctypes
|
||||
try:
|
||||
ctypes.OleDLL('shcore').SetProcessDpiAwareness(1)
|
||||
except (AttributeError, OSError):
|
||||
pass
|
||||
|
||||
import tkinter.messagebox as tkMessageBox
|
||||
if TkVersion < 8.5:
|
||||
root = Tk() # otherwise create root in main
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue