2011-12-25 6 views
5

Я пишу текстовый гекс-просмотрщик для удовольствия и полезности (я намерен добавить подсветку синтаксиса для многих разных типов файлов), и мне интересно, есть ли какие-либо инструменты для проклятий, которые я мог бы использовать.Существуют ли библиотеки инструментов для проклятий с привязками Python?

Возможно, я все-таки напишу что-нибудь, чтобы ознакомиться с тем, как работают инструменты gui, но было бы полезно знать полезные библиотеки для будущей справки для себя и для других.

ответ

8

Urwid - лучшая библиотека для работы с проклятиями и питоном, которые я знаю.

Вы также можете найти интересную информацию snack (newt).

Для получения дополнительной информации, пожалуйста, ознакомьтесь с этим question.

0

В GitHub есть бесплатный доступ к изучению, изменению и перераспределению библиотеки графического интерфейса высокого уровня по адресу «https://github.com/rigordo959/tsWxGTUI_PyVx_Repository».

Он реализован в Python 2x & 3x с использованием пакета русификаций низкого уровня «curses».

Ваши прикладные программы могут быть запрограммированы с использованием подмножества символьного режима в графическом интерфейсе GUI высокого уровня «wxPython». Он поддерживает дисплеи с клавиатурой и мышью и различные эмуляторы терминалов, включая цветные xterms (8-цветные с 64-цветными парами и 16-цветные с 256-цветными парами) и нецветные vt100/vt220.

+0

Так как кажется, что ваш код - это действительно нужно несколько примеров кода плохо, и если честно, имя репо вид отталкивающий, а также. В любом случае, спасибо за ответ и приветствуем Stack Overflow :) – Llamageddon

+0

Да, это мой код, и в репозитории GitHub вы найдете не только исходный код API, но также и те примеры, которые используются для тестирования и демонстрации. Поскольку я имитирую API wxPython, вы можете ознакомиться с введением и руководством для wxPython. В моем объявлении представлен обзор распределения и использования. Код Python 2x является большим и сложным (более 100 000 строк исполняемого Python. My Brochure предоставляет скриншоты, My Notebooks - спецификация стиля разработки и дизайна, дизайн и пользовательские документы. –

1

npyscreen

Npyscreen является питон библиотека виджетов и фреймворк для программирования приложений терминала или консоли. Он построен поверх ncurses, который является частью стандартной библиотеки.

npyscreen screenshot

#!/usr/bin/env python 
# encoding: utf-8 

import npyscreen 
class TestApp(npyscreen.NPSApp): 
    def main(self): 
     # These lines create the form and populate it with widgets. 
     # A fairly complex screen in only 8 or so lines of code - a line for each control. 
     F = npyscreen.Form(name = "Welcome to Npyscreen",) 
     t = F.add(npyscreen.TitleText, name = "Text:",) 
     fn = F.add(npyscreen.TitleFilename, name = "Filename:") 
     fn2 = F.add(npyscreen.TitleFilenameCombo, name="Filename2:") 
     dt = F.add(npyscreen.TitleDateCombo, name = "Date:") 
     s = F.add(npyscreen.TitleSlider, out_of=12, name = "Slider") 
     ml = F.add(npyscreen.MultiLineEdit, 
       value = """try typing here!\nMutiline text, press ^R to reformat.\n""", 
       max_height=5, rely=9) 
     ms = F.add(npyscreen.TitleSelectOne, max_height=4, value = [1,], name="Pick One", 
       values = ["Option1","Option2","Option3"], scroll_exit=True) 
     ms2= F.add(npyscreen.TitleMultiSelect, max_height =-2, value = [1,], name="Pick Several", 
       values = ["Option1","Option2","Option3"], scroll_exit=True) 

     # This lets the user interact with the Form. 
     F.edit() 

     print(ms.get_selected_objects()) 

if __name__ == "__main__": 
    App = TestApp() 
    App.run()