использование обоих python 3.7.0 и 3.7.3 root.overrideredirect (True) не перенаправляет ввод с клавиатуры в приложение GUI tkinter - PullRequest
0 голосов
/ 29 мая 2019

Извините, если это не в нужном месте.Мне просто нужна помощь.

При использовании обоих python 3.7.0 и 3.7.3 и всех необходимых библиотек для приложения root.overrideredirect (True) не перенаправляет ввод с клавиатуры наGUI приложение Tkinter и вместо этого идет в bash / shell / console.Этого раньше не было, поэтому я очень озадачен тем, как и почему это происходит сейчас.root.overrideredirect (True) необходим для полноэкранного режима.

Обратите внимание, что эта проблема возникает только в Linux (raspberry pi 3, последние обновления установлены. Текущие версии всех библиотек) и это окно не затрагивается.На Rasberry Pi 3 также имеется сенсорный экран.

Я попытался создать еще одно простое приложение для проверки того, что происходит, и то же самое происходит, когда overridedirect имеет значение true.Я не уверен, что попробовать в этой точке.Любая помощь будет оценена.

Фотография является примером того, что она делает.вместо того, чтобы идти к записи, она идет в shell / bash / console.https://drive.google.com/file/d/15qffmGzwqg6487k1pdteS26CfcYx0rV-/view?usp=sharing

    import sys

    try:
        import Tkinter as tk
    except ImportError:
        import tkinter as tk

    try:
        import ttk
        py3 = False
    except ImportError:
        import tkinter.ttk as ttk
        py3 = True


    def vp_start_gui():
        '''Starting point when module is the main routine.'''
        global val, w, root
        root = tk.Tk()
        root.overrideredirect(True)

        top = Toplevel1 (root)
        root.mainloop()


    class Toplevel1:
        def __init__(self, top=None):
            '''This class configures and populates the toplevel window.
               top is the toplevel containing window.'''
            _bgcolor = '#d9d9d9'  # X11 color: 'gray85'
            _fgcolor = '#000000'  # X11 color: 'black'
            _compcolor = '#d9d9d9' # X11 color: 'gray85'
            _ana1color = '#d9d9d9' # X11 color: 'gray85'
            _ana2color = '#ececec' # Closest X11 color: 'gray92'

            top.geometry("992x697+383+133")
            top.title("New Toplevel")
            top.configure(background="#d9d9d9")

            self.Entry1 = tk.Entry(top)
            self.Entry1.place(relx=0.091, rely=0.057,height=70, relwidth=0.306)
            self.Entry1.configure(background="white")
            self.Entry1.configure(disabledforeground="#a3a3a3")
            self.Entry1.configure(font="TkFixedFont")
            self.Entry1.configure(foreground="#000000")
            self.Entry1.configure(insertbackground="black")
            self.Entry1.configure(width=304)

            self.Entry2 = tk.Entry(top)
            self.Entry2.place(relx=0.101, rely=0.23,height=120, relwidth=0.286)
            self.Entry2.configure(background="white")
            self.Entry2.configure(disabledforeground="#a3a3a3")
            self.Entry2.configure(font="TkFixedFont")
            self.Entry2.configure(foreground="#000000")
            self.Entry2.configure(insertbackground="black")
            self.Entry2.configure(width=284)

    if __name__ == '__main__':
        vp_start_gui()

Нашел решение для полноэкранного режима.но я все же хотел бы найти решение для root.overridedirect (true). Использовать root.attributes ('- fullscreen', True) вместо root.overrideredirect (True) . Как связать Tkinter destroy () с ключом в Debian?

Также есть несколько связанных постов:

Переопределение Tkinter предотвращает определенные события в Mac и Linux

root.overrideredirect исвязывание

Возникла проблема с методом overrideredirect (True) в tkinter в Linux на основе Debian

Как связать Tkinter destroy () с ключом вDebian?

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