English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
Подробное описание модуля Python EasyGui
Введение:
Поскольку я хотел разработать некоторые простые интерфейсы на Windows с помощью Python, я нашел библиотеку EasyGui, которая легко освоить. Давайте поделимся простым использованием.
Ссылки для参考:Официальное руководство
Далее я покажу, как использовать этот модуль от простого к сложному. Надеюсь, это поможет вам, кто только начал знакомиться с easygui :-)
msgBox, ccbox, ynbox
# coding:utf-8 # __author__ = 'Mark sinoberg' # __date__ = '2016/5/25' __Desc__ = один из самых простых окон MessageBox, аналогичных Java import easygui title = easygui.msgbox(msg='提示信息', title='标题部分', ok_button="OOK") msg = easygui.msgbox('Hello Easy GUI') print 'Возвратное значение:' + msg ccbox = easygui.ccbox("here is Continue | Cancel Box!") print 'Возвратное значение:' + str(ccbox) ynbox = easygui.ynbox("Yes Or No Button Box!")
bottonbox
# coding:utf-8 # __author__ = 'Mark sinoberg' # __date__ = '2016/5/25' # __Desc__ = Возврат к простому интерфейсу, второй параметр - это список import easygui # choice = easygui.buttonbox("Здесь есть сообщение: \n", title='Выберите один из трёх", # , 'two', 'three']) # easygui.msgbox('Вы选择了:' + str(choice)) # # # choices должен содержать только два параметра, выбранный из которых возвращает 1,其余返回 0 # bool = easygui.boolbox('msg提示信息', title='标题部分', choices=['A', 'B']) # easygui.msgbox(bool) image = 'me.jpg' msg = 'Вот моя фотография, фанат python' choices = ['Да','Нет',"Не уверен"] title = 'Я handsome?' easygui.buttonbox(msg,title,image=image,choices=choices)
choicebox
# coding:utf-8 # __author__ = 'Mark sinoberg' # __date__ = '2016/5/25' # __Desc__ = Выбирает один элемент из списка и возвращает его import easygui msg = 'Выберите один элемент из списка' title = 'Необходимо выбрать один' choices = ['1','2','3','4','5','6','7'] answer = easygui.choicebox(msg,title,choices) print 'Вы选择了 :' + str(answer)
enterbox
# coding:utf-8 # __author__ = 'Mark sinoberg' # __date__ = '2016/5/25' # __Desc__ = Контрол, который позволяет вводить текст пользователя import easygui st = easygui.enterbox("Введите текст: \n") print "Вы ввели: " + str(st)
mutilchoicebox
# coding:utf-8 # __author__ = 'Mark sinoberg' # __date__ = '2016/5/25' # __Desc__ = Элемент списка для выбора нескольких. Хм, в этой версии это не реализовано должным образом. Мои варианты выбора не работают import easygui msg = 'Выберите один элемент из списка' title = 'Необходимо выбрать один' choices = (1,2,3,4,5,6,7,8,9) answer1 = easygui.multchoicebox(msg,title,choices) for item in answer1: print item
intenterbox,passenterbox
# coding:utf-8 # __author__ = 'Mark sinoberg' # __date__ = '2016/5/25' # __Desc__ = Предоставляет пользователю простую строку ввода, которая может принимать только значения из заданного диапазона import easygui msg = 'Введите число в диапазоне от 0 до 100' title = 'Ограничено типом числа' lowerbound = 0 upperbound = 100 default = '' image = 'me.jpg' result = easygui.integerbox(msg,title,default,lowerbound,upperbound,image) print result
textbox,codebox
# coding:utf-8 # __author__ = 'Mark sinoberg' # __date__ = '2016/5/25' # __Desc__ = easygui еще предоставляет поддержку для большого количества текста, а также для текста кода import easygui msg = '大文本的支持' title = 'Text Code' text = 'abcdefghijklmnopqrstuvwxyzABCDEFGHJIKLMNOPQRSTUVWXYZ0123456789-/' textContent = easygui.textbox(msg,title,text) codeContent = easygui.codebox(msg,title,) print textContent print codeContent # D:\Software\Python2\python.exe E:/Code/Python/MyTestSet/easygui_/text_codebox.py # abcdefghijklmnopqrstuvwxyzABCDEFGHJIKLMNOPQRSTUVWXYZ0123456789-/ # public class HelloWorld{ # public static void main(String []args) { # System.out.println("Hello World!"); # } # } # # Процесс завершен с кодом выхода 0
diropenbox
# coding:utf-8 # __author__ = 'Mark sinoberg' # __date__ = '2016/5/25' # __Desc__ = Эта функция используется для предоставления диалогового окна, которое возвращает имя каталога пользователя, выбранный с полным путём # При выборе Cancel возвращается значение по умолчанию None import easygui msg = 'Выберите файл, и будет возвращен полный путь к его каталогу' title = 'Диалоговое окно выбора файла' default = r'F:\flappy-bird' full_file_path = easygui.diropenbox(msg, title, default) print 'Полный путь к выбранному файлу: ' + str(full_file_path) # D:\Software\Python2\python.exe E:/Code/Python/MyTestSet/easygui_/diropenbox.py # Полный путь к выбранному файлу: F:\flappy-bird # # Процесс завершен с кодом выхода 0
fileopenbox
# coding:utf-8 # __author__ = 'Mark sinoberg' # __date__ = '2016/5/25' # __Desc__ = Этот метод используется для предоставления диалогового окна, которое возвращает имя файла пользователя, выбранный с полным путём, при выборе Cancel возвращает None # default="c:/fishc/*.py" означает, что будут отображены все файлы Python в папке C:\fishc. # default="c:/fishc/test*.py" означает, что будут отображены все файлы с именами, начинающимися на test, в папке C:\fishc. # filetypes параметр является списком строк, содержащих маски файлов, запомните, это список. Например: filetypes = ["*.css", ["*.htm", "*.html", "HTML files"]] import easygui msg = 'Возвращает полный путь к выбранным файлам, при выборе Cancel возвращает None' title = 'Файловый выборщик' default = 'E:/Code/Python/MyTestSet/easygui/*.py' opened_files = easygui.fileopenbox(msg, title, default, multiple=True) for item in opened_files: print item # D:\Software\Python2\python.exe E:/Code/Python/MyTestSet/easygui_/fileopenbox.py # E:\Code\Python\MyTestSet\easygui_\me.jpg # E:\Code\Python\MyTestSet\easygui_\buttonbox.py # E:\Code\Python\MyTestSet\easygui_\choicesbox.py # E:\Code\Python\MyTestSet\easygui_\diropenbox.py # E:\Code\Python\MyTestSet\easygui_\enterbox.py # E:\Code\Python\MyTestSet\easygui_\fileopenbox.py # E:\Code\Python\MyTestSet\easygui_\integerbox.py # # Процесс завершен с кодом выхода 0
filesavebox
# coding:utf-8 # __author__ = 'Mark sinoberg' # __date__ = '2016/5/25' # __Desc__ = Функцияпresentsdialogboxtoallowtheuser togivethepathofthefiletobesaved(thewholepath)orreturnNoneifCancelisselected # Параметрdefaultдолженсодержатьимяфайла(например, текущийфайл,которыйнужносохранить),конечно,выможетеустановитьпустуюстрокуиливключитьглобальныймаскуформатафайла. # filetypesreferstotheabovefileopenbox import easygui msg = 'Сохраните ваш файл' title = "Сохранить файл" default = 'E:/Code/Python/MyTestSet/easygui/newFile.*' savedfile = easygui.filesavebox(msg,title,default) print savedfile print 'Конечно, здесь это всего лишь полный путь к файлу, но он не будет сохранен в реальном файле, для сохранения файла потребуется использовать другие библиотеки' # D:\Software\Python2\python.exe E:/Code/Python/MyTestSet/easygui_/filesavebox.py # E:\Code\Python\MyTestSet\easygui_\newFile.doc # Конечно, это всего лишь полный путь и имя файла, он не будет действительно сохранен в файл, для сохранения файла нужно использовать другие библиотеки # # Процесс завершен с кодом выхода 0
exceptionbox
# coding:utf-8 # __author__ = 'Mark sinoberg' # __date__ = '2016/5/25' # __Desc__ = Это очень полезный диалоговое окно, когда приложение встречает исключение, можно использовать его для предоставления пользователю дружественного интерфейса import easygui try: int('Exception') except: easygui.exceptionbox('Ошибка преобразования типа int! Пожалуйста, проверьте ваш тип данных!') # Откроется окно, содержимое которого можно определить самостоятельно, как上面. Следующие строки - это отслеживаемые ошибки # Traceback (most recent call last): # File "E:/Code/Python/MyTestSet/easygui_/exceptionbox.py", line 10, in <module> # int('Exception') # ValueError: недопустимое литеральное значение для int() с основанием 10: 'Exception'
Обобщение
После просмотра этих примеров,想必对 разработку простых десктопных приложений с помощью easygui вы уже очень уверены. (^__^) Хихихи...
Но для более сложных задач просто знание этих основ远远不够. Поэтому нам нужно также изучить другие модули Python. Таким образом, в процессе разработки можно выбирать наиболее подходящий модуль в зависимости от сложности задачи.
Спасибо за чтение, надеюсь, это поможет вам, спасибо за поддержку нашего сайта!