2011-12-25 15 views
5

Piszę szesnastkową przeglądarkę tekstową dla zabawy i użyteczności (zamierzam dodać podświetlanie składni dla wielu różnych typów plików) i zastanawiam się, czy są jakieś zestawy narzędzi przekleństw, których mógłbym użyć.Czy istnieją biblioteki narzędzi dla przekleństw z powiązaniami w Pythonie?

Prawdopodobnie i tak napiszę coś samemu, aby zapoznać się ze sposobem działania zestawów narzędziowych GUI, ale dobrze byłoby wiedzieć o przydatnych bibliotekach, które będą przydatne w przyszłości dla siebie i innych osób.

Odpowiedz

8

Urwid to najlepsza biblioteka do pracy z klątwami i pythonem, które znam.

Altenatywnie możesz również znaleźć interesującą bibliotekę opartą na snack (newt).

Aby uzyskać więcej informacji, proszę spojrzeć na to question.

0

Na GitHub jest darmowe, badania, modyfikowania i ponownego rozpowszechniania biblioteki GUI wysokiego szczebla, w „https://github.com/rigordo959/tsWxGTUI_PyVx_Repository”.

Jest on zaimplementowany w Pythonie 2x & 3x przy użyciu pakietu GUI "curses" Low Level.

Twoje aplikacje mogą być programowane przy użyciu podzbioru znaków w trybie pikselowym GUI API "wxPython" High Level. Obsługuje wyświetlacze z wejściem klawiatury i myszy oraz różnymi emulatorami terminali, w tym kolorowymi xtermami (8-kolorowy z 64-kolorowymi parami i 16-kolorowymi z 256-kolorowymi parami) i nie-kolorowymi vt100/vt220.

+0

Ponieważ wydaje się, że jest to kod - to naprawdę musi źle niektóre przykłady kodu, i szczerze mówiąc, nazwa repo jest trochę odpychający, jak również. Tak czy inaczej, dziękuję za odpowiedź i witam w Stack Overflow :) – Llamageddon

+0

Tak, to jest mój kod iw repozytorium GitHub znajdziesz nie tylko kod źródłowy API, ale także przykłady użyte do jego przetestowania i zademonstrowania. Ponieważ emuluję API wxPython, możesz zapoznać się z wprowadzeniem i samouczkiem dla wxPython. Moje ogłoszenie zawiera przegląd dystrybucji i jej wykorzystania. Kod Python 2x jest duży i złożony (ponad 100 000 linii wykonywalnego Pythona, moja broszura zawiera zrzuty ekranów, a moje notebooki zawierają specyfikację wstępu i specyfikacji technicznej, projekty i dokumenty użytkowników. –

1

npyscreen

Npyscreen jest Python Library widget i tworzenia aplikacji dla zastosowań końcowych programowania lub konsoli. Jest zbudowany na bazie ncurses, która jest częścią standardowej biblioteki.

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() 
Powiązane problemy