AttributeError: модуль 'PySimple GUI' не имеет атрибута 'Window' - PullRequest
0 голосов
/ 07 апреля 2020

Я пытаюсь начать работу с PySimple GUI. Я попытался запустить следующий код (из https://pysimplegui.readthedocs.io/en/latest/#the -quick-tour ):

import PySimpleGUI as sg
event, values = sg.Window('Get filename example', [[sg.Text('Filename')], [sg.Input(), sg.FileBrowse()], [sg.OK(), sg.Cancel()] ]).Read()

Это на поле Windows 7, с Python 3.7.1, и PySimple GUI версия 4.18.0.

Кстати, эти две строки должны работать из командной строки python, я думаю. Но даже если я сохраню их как файл (без других python строк, только новые строки и комментарии), я получу

(Traceback (most recent call last):
  File "C:\Users\blorfmorlfle\bin\MoveStagedFiles.py", line 15, in <module>
    event, values = sg.Window('Get filename example', [[sg.Text('Filename')], [sg.Input(), sg.FileBrowse()], [sg.OK(), sg.Cancel()] ]).Read()
AttributeError: module 'PySimpleGUI' has no attribute 'Window'

Поиск переполнения стека для похожих ошибок, все потоки результатов были разными.

FWIW, я удалил и переустановил PySimple GUI.

FWIW2, отлично работает следующее.

sg.Popup('Hello From PySimpleGUI!', 'This is the shortest GUI program ever!')

Есть мысли? Я слышал, что некоторые python релизы проблематичны c для PySimple GUI из-за проблем с tkinter. Есть ли рекомендуемый релиз?

Ответы [ 2 ]

0 голосов
/ 08 апреля 2020

Я впервые установил PySimple GUI пару лет go, просто чтобы поиграть с ним. Услышав, что это был всего один python файл, я просто бросил его в папку, которую использовал для тестирования кода.

Эта старая версия PySimple GUI теперь не полностью функциональна, так как отсутствует такие вещи, как Window, theme, et c. Я установил последнюю версию с помощью pip. Но я все еще выполняю тестовый код из той же папки. Итак, когда я импортировал PySimple GUI, старая версия опережала путь установки более новой PySimple GUI. По сути, я импортировал более старую версию, которую я не помнил, которая была установлена ​​в текущем рабочем каталоге. Поскольку в старой версии не было переменной версии, потребовалось некоторое время, чтобы понять, что я не импортировал версию, о которой pip show PySimpleGUI сообщал, как установленную из командной строки ОС. Затруднительный. Но урок усвоен.

Спасибо всем, кто откликнулся в этой теме. В конце концов, предложение @ acw1668 заставило меня понять, что происходит.

0 голосов
/ 07 апреля 2020

Я попробовал это с python 3.6.8 и PySimple GUI 4.18.0 с теми же двумя строками кода, которые вы предоставили, и у меня это тоже не сработало (ядро умерло).

Однако для меня сработал другой пример из быстрого тура (https://pysimplegui.readthedocs.io/en/latest/#the -quick-tour ), который просто предоставляет код в более удобочитаемом виде:

import PySimpleGUI as sg

sg.theme('Dark Blue 3')  # please make your creations colorful

layout = [  [sg.Text('Filename')],
            [sg.Input(), sg.FileBrowse()], 
            [sg.OK(), sg.Cancel()]] 

window = sg.Window('Get filename example', layout)

event, values = window.Read()
window.close()

Я надеюсь, что это может помочь

...