Текст кнопки Tkinter не работает в Мохаве - PullRequest
0 голосов
/ 27 сентября 2018

Это очень простая программа.

import tkinter
tkinter.Button(None, text='button').pack()
tkinter.mainloop()

Я ожидаю, что эта программа показывает мне такую ​​картинку, как показано ниже.
work well

Но на самом деле она показывает изображение ниже.
not work

Когда размер изменен в графическом интерфейсе, кажется, что он работает хорошо.

В High Sierra такой проблемы не возникало.

Моя среда работает следующим образом:

  • macOS Mojave 10.14
  • Python 3.7.0

Не могли бы вы посоветовать мне?

Я обнаружил такую ​​же проблему на здесь .

Ответы [ 11 ]

0 голосов
/ 07 марта 2019

У меня сработало обновление python до 3.5.6 с 3.5.4.

0 голосов
/ 23 марта 2019

Изменение внешнего вида в режиме «Light» исправило эту проблему для меня.

Чтобы изменить внешний вид, перейдите в «Настройки» -> «Основные» -> «Внешний вид» -> «Light Mode».

Dark Mode

Light Mode

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

Я думаю, в Tk есть ошибка.Я на MacOS 10.14.3 Если вы разверните и свернете окно tkinter, появится текст на кнопке, другое решение, которое мне помогло, -

from tkinter import *
from tkinter import ttk

button1 = ttk.Button(*your args here*)
0 голосов
/ 24 февраля 2019

У меня была точно такая же ошибка, и чтобы исправить ее, мне пришлось изменить мои кнопки на ttk.Button и установить стиль.Например, добавьте следующее для импорта:

try: from tkinter import ttk # python 3
except: import ttk # python 2.7

И затем после корневого init:

    style = ttk.Style()
    style.map("C.TButton",
              foreground=[('pressed', 'red'), ('active', 'blue')],
              background=[('pressed', '!disabled', 'black'),
                          ('active', 'white')]
              )

Затем, когда вы создаете экземпляр Button:

self.button = ttk.Button(self, text="my cooool button",
                                 command=self.load_something_cool, style="C.TButton")

Он работал отлично, чтобы гарантировать, что текст отображается правильно.До того, как я добавил бит ttk, я был в той же лодке, что и вы в Мохаве.

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

У меня была такая же проблема, но теперь я ее исправил.

Если вы используете Anaconda, введите следующие команды в терминале, и вы должны быть готовы:

  1. conda update python
  2. conda update anaconda
0 голосов
/ 28 января 2019

Вот пример, который исправляет проблему для меня (по крайней мере, до тех пор, пока не будет очищен материал Python / Tkinter):

import tkinter
root = tkinter.Tk()
tkinter.Button(root, text='button').pack()
def fix():
    a = root.winfo_geometry().split('+')[0]
    b = a.split('x')
    w = int(b[0])
    h = int(b[1])
    root.geometry('%dx%d' % (w+1,h+1))
root.update()
root.after(0, fix)
tkinter.mainloop()

Это было проверено на macOS версии 10.14.2 (18C54) и Python3.7.2 (загружается с помощью Home-brew).

0 голосов
/ 13 декабря 2018

Единственное исправление, которое я нашел для окон pykapp Tkinter в Мохаве, состояло в том, чтобы обновить мою версию python до 2.7.15 (64-битная, а не 64/32-битная).Версии до этого все отображали пустой текст в замороженных двоичных файлах py2app.Непосредственно запущенный код Python отображается нормально.Вставка .update_idletasks() перед основным циклом каждого окна не имела для меня никакого значения (протестировано на двух машинах Mojave).

0 голосов
/ 01 ноября 2018

У меня проблема с приложением, которое я написал, и оно зависло с PyInstaller.Он по-прежнему отлично работает на ПК и моем ноутбуке Mac, на котором нет Mojave, но на моем настольном Mac, который недавно был обновлен до Mojave, есть кнопки без текста, а некоторые кнопки полностью невидимы, пока на них не нажимают.

Я нашел простое решение для Reddit: просто немного измените размер окна, и элементы интерфейса появятся!

Ссылка на тему Reddit

0 голосов
/ 24 октября 2018

У меня также была эта проблема, 100% воспроизводимость на моем Mac после обновления до Mojave и при использовании Python3 Homebrew.

Переход на загрузку пакета Python 3.7.1 для Python.org полностью устранил проблему для меня.

0 голосов
/ 24 октября 2018

У меня была та же проблема с текстом кнопки и текстом выпадающего меню после упаковки моей программы с помощью Pyinstaller.Я думаю, что это ошибка Tk / Tcl.Я смог исправить это, введя полноэкранный режим (зеленая кнопка в серой полосе lol), а затем снова уменьшил до нормального размера (желтая кнопка в серой полосе lol).

...