Избегайте различий между wxPython TextCtrl между macOS и Windows - PullRequest
0 голосов
/ 16 февраля 2019

Этот простой фрагмент для текстового элемента управления дает существенно отличающиеся результаты в macOS (вверху) и Windows с wxPython 4.0.4.Как я могу смягчить это?

self.console_ctrl = wx.TextCtrl(panel, style=wx.TE_MULTILINE | wx.TE_READONLY | wx.HSCROLL)
self.console_ctrl.SetFont(wx.Font(13, wx.FONTFAMILY_TELETYPE, wx.FONTSTYLE_NORMAL, wx.FONTWEIGHT_NORMAL))
self.console_ctrl.SetBackgroundColour(wx.BLACK)
self.console_ctrl.SetForegroundColour(wx.RED)
self.console_ctrl.SetDefaultStyle(wx.TextAttr(wx.RED))

wxPython TextCtrl on macOS

wxPython TextCtrl on Windows 10

Шрифт в Windows кажетсянамного больше.Не берите в голову плохое качество снимка экрана;должно быть связано с Windows, работающей в VirtualBox.

Примечание. Это сообщение было добавлено в https://groups.google.com/forum/#!topic/wxpython-users/j3HFo_-SeaU

Ответы [ 2 ]

0 голосов
/ 17 февраля 2019

В конечном итоге решающим улучшением стало определение шрифта с пикселями, а не с точками.

self.console_ctrl.SetFont(wx.Font((0, 13), wx.FONTFAMILY_TELETYPE, wx.FONTSTYLE_NORMAL, wx.FONTWEIGHT_NORMAL))

Обратите внимание, что первый параметр (перегруженного) wx.Font конструктора теперь являетсяwx.Size, а не целое число.

0 голосов
/ 16 февраля 2019

Вам нужно указать ОС в своем коде и настроить правильный шрифт для каждого, посмотрите примеры демонстрации wxPython

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...