Редактор интерфейса для python

Saved searches

Use saved searches to filter your results more quickly

You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session. You switched accounts on another tab or window. Reload to refresh your session.

An easy and fast way to create a Python GUI 🐍

License

ParthJadhav/Tkinter-Designer

This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.

Name already in use

A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?

Sign In Required

Please sign in to use Codespaces.

Launching GitHub Desktop

If nothing happens, download GitHub Desktop and try again.

Launching GitHub Desktop

If nothing happens, download GitHub Desktop and try again.

Launching Xcode

If nothing happens, download Xcode and try again.

Читайте также:  Get time in calendar java

Launching Visual Studio Code

Your codespace will open once ready.

There was a problem preparing your codespace, please try again.

Latest commit

Git stats

Files

Failed to load latest commit information.

README.md

logo

Tkinter Designer was created to speed up the GUI development process in Python. It uses the well-known design software Figma to make creating beautiful Tkinter GUIs in Python a piece of cake 🍰 .

Tkinter Designer uses the Figma API to analyze a design file and create the respective code and files needed for the GUI. Even Tkinter Designer’s GUI is created using Tkinter Designer.

Tkinter Designer GUI

🎉 Multi frame support is here! 🎉

You can now create multiple frames in a single design file and Tkinter Designer will create the respective code and files for each frame. This is a huge step for Tkinter Designer and I’m really excited to see what you guys create with it.

Feel free to share your creations with the community on Discord.

If you encounter any bugs or have any suggestions, please create an issue here.

☄️ Advantages of Tkinter Designer

  1. Interfaces with drag and drop.
  2. A great deal quicker than writing code by hand
  3. Produce more gorgeous interfaces

⚡️ Read the instruction here

View the YouTube video or read the instructions below.

Instructions Youtube Tutorial

🦋 Supporting Tkinter Designer

Consider making a donation to the Tkinter Designer project if you or your business have benefited from it. This will accelerate Tkinter Designer’s development! Making coffee is simple; I’ll be happy to enjoy one.

Buy Me A Coffee Paypal

Click the button below to join the discord server or Linkedin

Join Discord Server

The only thing the user needs to do is design an interface with Figma, and then paste the Figma file URL and API token into Tkinter Designer.

Tkinter Designer will automatically generate all the code and images required to create the GUI in Tkinter.

How it Works

The possibilities are endless with Tkinter Designer, but here are a couple of GUIs that can be perfectly replicated in Tkinter.

The following are not my creations.

Example 3

Example 3

Example 1

Example 3

Example 3

Example 3

Please let me know if Tkinter Designer was used to create your app. More illustrations will be beneficial for other people!

(See: Contact Me) or use Show and Tell section in Discussions.

Tkinter Designer is licensed under the BSD 3-Clause «New» or «Revised» License.
View Here.

Permissions Restrictions Conditions
✓ Commercial Use × Liability 🛈 License and Copyright Notice
✓ Modification × Warranty
✓ Distribution
✓ Private Use

All contributions from the open-source community, individuals, and partners are welcomed. Our achievement is a result of your active participation.

If you want to contact me, you can reach me at Jadhavparth99@gmail.com

About

An easy and fast way to create a Python GUI 🐍

Источник

TKinterDesigner — Графический интерфейс на Python

Среда быстрой разработки Python с разработкой графического интерфейса с перетаскиванием на визуальную форму. Дизайнер форм, редактор кода, отладка и упаковка.

Разработка графического интерфейса на Python

Свободная среда быстрой разработки, позволяющая создавать графический интерфейс на Python при помощи перетаскивания компонентов. Используется для разработки проекта приложения на Python с интерфейсом Tkinter. Включает дизайнер форм, редактор кода, отладку и упаковку.

По заявлению разработчика, самая большая разница между TKinterDesigner и другими типами инструментов разработки заключается в том, что он обеспечивает полный набор процессов разработки.

TkinderDesigner представляет собой решение для разработки прикладного программного обеспечения на Python, включающее в себя общий процесс разработки от создания проекта до дизайна интерфейса, редактирования, отладки логики событий, упаковки и выпуска, а также созданную на этой основе ресурсную платформу и экосистему разработчиков.

Процесс разработки графического интерфейса для Python

  1. Создание проекта.
  2. Создание формы.
  3. Размещение элементов управления, редактирование свойств.
  4. Связывание событий.
  5. Написание логики кода.
  6. Отладка и запуск.
  7. Упаковка и выпуск релиза.

Основные функции:

  • управление проектами: создание и открытие проектов;
  • управление файлами: создание интерфейса, создание файлов и импорт ресурсов проекта;
  • дизайн интерфейса: создание интерфейса на Tkinter, перетаскивая компоненты на визуальную форму;
  • настройка элемента управления: настройка основных свойств элемента управления;
  • привязка переменных: привязка пользовательских переменных к элементам управления Tkinter;
  • реакция на событие: сопоставление между событиями и функциями для управления Tkinter;
  • написание кода: написание логики кода для функций;
  • отладка и запуск: вызов команды Python для отладки и запуска проекта;
  • упаковка программы: вызов команды Python для упаковки в exe проекта;
  • компонентизация и импорт пользовательских модулей: прямое сохранение текущих функций интерфейса в виде компонентов и их гибкий вызов или импорт и вызов пользовательских модулей.

Запуск Tkinterdesigner

Дважды щелкните программу TKinterDesigner. На появившейся странице можно выбрать язык в правом верхнем углу. Если текущая версия не является последней версией — можно увидеть подсказку о последней версии.

По умолчанию вход отключен. Если нужно использовать функции членства и экспорта, можно щелкнуть значок Guest, чтобы войти в систему.

Tkinterdesigner регистрация и вход

Щелкните значок Guest, и увидите интерфейс входа в систему.

Ввести логин учетной записи и пароль. Если учетной записи нет, можно зарегистрироваться. Войдите в интерфейс регистрации и заполните поля. После успешной регистрации автоматически будет выполнен вход. Если не хотите регистрироваться, можно использовать в автономном режиме.

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

Об украшении графического интерфейса на Пайтон

В большинстве случаев программа, для создания которой используется Tkinter, недостаточно красива. Хотя это не влияет на развитие функций, любовь к красоте есть у всех. Будет лучше, если получится сделать программу более красивой.

Однако, поскольку большинство наших разработчиков и пользователей являются программистами, лучше упростить часть украшения. Поэтому разработчик Tkinterdesigner надеется предоставить хорошую цветовую схему в качестве скина для разработчиков, чтобы сделать программу более красивой. Также запустил магазин компонентов. Пользователь должен зарегистрировать учетную запись, чтобы увидеть магазин компонентов.

Характеристики

Источник

Графический интерфейс на Python за 5 минут

image

Python легко использовать. В нем вы можете найти огромное количество библиотек для чего угодно. И это его основное преимущество. Из нескольких строк кода вы ничего не сделаете. Если вам нужны скрипты для личного пользования или для технически подкованной аудитории, то вам даже не придется думать о графическом интерфейсе.

Однако иногда ваша целевая аудитория не сильно подкована технически. Люди не против использовать ваши скрипты на Python до тех пор пока им не нужно смотреть на одну строку кода. В таком случае скриптов командной строки будет недостаточно. В идеале вам нужен графический интерфейс. Цель этого поста использовать только Python.

Библиотеки Python, которые можно использовать для графического интерфейса

По сути, есть 3 большие библиотеки Python для графического интерфейса; Tkinter, wxPython и PyQT. Рассматривая их, я не нашел там ничего из того, что мне нравится в Python. Библиотеки Python, как правило, очень хорошо абстрагируются от супер-технических моментов. Если бы мне нужно было работать с объектно-ориентированным программированием, я мог бы с таким же успехом загрузить Java или .Net.

EDISON Software - web-development

Статья переведена при поддержке компании EDISON Software, которая заботится о здоровье программистов и их завтраке, а также разрабатывает программное обеспечение на заказ.

Однако, к счастью, я наткнулся на четвёртый вариант, который был мне по душе. Это PySimpleGUI, я до сих пор ей пользуюсь. Как ни странно, эта библиотека использует все 3 популярные библиотеки, о которых шла речь выше, но при этом абстрагируется от супер технических моментов

Давайте погрузимся в эту библиотеку и изучим ее, одновременно решая реальную проблему.

Проверьте два одинаковых файла

Я рассказал как это сделать в своей статье “3 быстрых способа сравнить данные в Python”. Мы можем использовать первый раздел, проверку целостности данных, чтобы попытаться создать пользовательский интерфейс.

Запрограммируйте графический интерфейс

Чтобы создать графический интерфейс, можно использовать этот код:

import PySimpleGUI as sg layout = [ [sg.Text('File 1'), sg.InputText(), sg.FileBrowse(), sg.Checkbox('MD5'), sg.Checkbox('SHA1') ], [sg.Text('File 2'), sg.InputText(), sg.FileBrowse(), sg.Checkbox('SHA256') ], [sg.Output(size=(88, 20))], [sg.Submit(), sg.Cancel()] ] window = sg.Window('File Compare', layout) while True: # The Event Loop event, values = window.read() # print(event, values) #debug if event in (None, 'Exit', 'Cancel'): break

image

Подключаем логику

Когда есть пользовательский интерфейс, легко понять, как подключить остальную часть кода. Нам просто нужно следить за тем, что вводит пользователь и действовать соответственно. Мы можем очень легко сделать это с помощью следующего кода:

import PySimpleGUI as sg import re import hashlib def hash(fname, algo): if algo == 'MD5': hash = hashlib.md5() elif algo == 'SHA1': hash = hashlib.sha1() elif algo == 'SHA256': hash = hashlib.sha256() with open(fname) as handle: #opening the file one line at a time for memory considerations for line in handle: hash.update(line.encode(encoding = 'utf-8')) return(hash.hexdigest()) layout = [ [sg.Text('File 1'), sg.InputText(), sg.FileBrowse(), sg.Checkbox('MD5'), sg.Checkbox('SHA1') ], [sg.Text('File 2'), sg.InputText(), sg.FileBrowse(), sg.Checkbox('SHA256') ], [sg.Output(size=(88, 20))], [sg.Submit(), sg.Cancel()] ] window = sg.Window('File Compare', layout) while True: # The Event Loop event, values = window.read() # print(event, values) #debug if event in (None, 'Exit', 'Cancel'): break if event == 'Submit': file1 = file2 = isitago = None # print(values[0],values[3]) if values[0] and values[3]: file1 = re.findall('.+:\/.+\.+.', values[0]) file2 = re.findall('.+:\/.+\.+.', values[3]) isitago = 1 if not file1 and file1 is not None: print('Error: File 1 path not valid.') isitago = 0 elif not file2 and file2 is not None: print('Error: File 2 path not valid.') isitago = 0 elif values[1] is not True and values[2] is not True and values[4] is not True: print('Error: Choose at least one type of Encryption Algorithm') elif isitago == 1: print('Info: Filepaths correctly defined.') algos = [] #algos to compare if values[1] == True: algos.append('MD5') if values[2] == True: algos.append('SHA1') if values[4] == True: algos.append('SHA256') filepaths = [] #files filepaths.append(values[0]) filepaths.append(values[3]) print('Info: File Comparison using:', algos) for algo in algos: print(algo, ':') print(filepaths[0], ':', hash(filepaths[0], algo)) print(filepaths[1], ':', hash(filepaths[1], algo)) if hash(filepaths[0],algo) == hash(filepaths[1],algo): print('Files match for ', algo) else: print('Files do NOT match for ', algo) else: print('Please choose 2 files.') window.close() 

Он даст нам такой результат:

image

Заключительные мысли

Может это и не самый красивый пользовательский интерфейс, но PySimpleGUI позволяет вам быстро разворачивать простые пользовательские интерфейсы Python и делиться ими с кем угодно. Код, который вам нужен для этого, прост и легко читается. У вас все еще будет проблема запуска кода для получения пользовательского интерфейса. Из-за этого могут возникнуть сложности с совместным использованием кода. Советую скачать что-то вроде PyInstaller, который превратит ваш скрипт на python в .exe файл. Люди смогут запустить его просто нажав на него дважды.

Источник

Оцените статью