2013-05-01 5 views
1

Как бы я обернул этот текст в графическом интерфейсе? Я довольно новичок в python и программировании в целом, и я написал этот конвертер в качестве первого проекта. Теперь я хочу обернуть проект в графическом интерфейсе, но когда я начал читать о tkinter, мне кажется, что мне придется переписать весь мой код. Можно ли обернуть GUI вокруг этого без полного его переписывания?с использованием tkinter для GUI

__Version__ = 0.1 
import time 
import os 
from tkinter import Tk 

line_break = "==========_Number_in_Inches_==========" 
MM_break = "==========_Enter_MM_To_Convert_==========" 
sys_Error = "ValueError, Could not recognize input as a number" 
Inches = float(25.4) 

def main(): 
    while True: 
     os.system('CLS') 
     print("Welcome to the converter") 
     time.sleep(0.5) 
     print("What would you like to do?") 
     time.sleep(0.5) 
     print("Enter Convert MM or Convert Surface") 
     function = (input()) 
     time.sleep(0.5) 
     if function in('Convert','convert'): 
      con() 
     elif function in('Surface', 'surface', 'RA', 'ra', 'Ra'): 
      surf() 
     elif function in('end', 'kill', 'quit', 'End', 'Kill', 'Quit'): 
      print("Goodbye") 
      time.sleep(1.00) 
      os.system('CLS') 
      time.sleep(1.00) 
      break  
     elif function in('help', 'Help'): 
      help() 
     else: 
      print(sys_Error) 
      time.sleep(1.0) 

def con(): 
    while True: 
     print("Return = Main Menu, Surface = RA Conversion") 
     print(MM_break) 
     number = (input()) 
     if number in('Return', 'return'): 
      break 
     elif number in('Surface', 'surface', 'Ra', 'RA', 'ra'): 
       surf() 
     elif number in('help', 'Help'): 
     help() 
     elif number in('end', 'kill', 'quit', 'End', 'Kill', 'Quit'): 
      break 
     else: 
      try: 
       float(number) 
      except ValueError: 
       print(sys_Error) 
       break 
      else: 
       float_number = float(number) 
       Convert = float_number/Inches 
       Results_3 = ("%.3f" % Convert) 
       Results_4 = ("%.4f" % Convert) 
       print(line_break) 
       print(" ") 
       print('\t', Results_3) 
       print('\t', Results_4) 
       print(line_break) 
       print(" ") 
       r = Tk() 
       r.withdraw() 
       r.clipboard_clear() 
       r.clipboard_append(Results_3) 

def surf(): 
    while True: 
     print("Please enter Surface Finish") 
     print("or type return to return to main menu") 
     surface = (input()) 
     if surface in('Return', 'return'): 
      break 
     elif surface in('Convert', 'convert'): 
      con() 
     elif surface in('help', 'Help'): 
      help() 
     elif surface in('end', 'kill', 'quit', 'End', 'Kill', 'Quit'): 
      break 
     else: 
      try: 
       float(surface) 
      except ValueError: 
       print(sys_Error) 
       time.sleep(1.0) 
       break 
      else: 
       float_surface = float(surface) 
       RA_convert = (float_surface/Inches) * 1000 
       Results = float(RA_convert) 
       RA_results = ("%.0f" % Results) 
       print(RA_results) 
       r = Tk() 
       r.withdraw() 
       r.clipboard_clear() 
       r.clipboard_append(RA_results) 

def help(): 
    while True: 
     print('\t' "If you are having trouble") 
     print('\t' "Make sure you are prompting the program") 
     print('\t' "to enter etiher MM conversion mode") 
     print('\t' "or Surface Conversion mode") 
     print('\t' "by entering Convert or Surface") 
     print('\t' "when prompted at startup") 
     print('\t' "make sure that you are entering a number") 
     print('\t' "or a recognized command") 
     print('\t' "The list of commands are as follows") 
     print('\t' "help = Displays help message") 
     print('\t' "end = Ends the program") 
     print('\t' "(also try End, quit, Quit, kill, Kill)") 
     print('\t' "Convert = MM Conversion mode") 
     print('\t' "Surface or Ra = Surface conversion mode") 
     print('\t' "If you are still having problems contact") 
     print('\t' "Daniel Granado") 
     print('\t' "at [email protected]") 
     time.sleep(4.0) 
     print("Press enter to return to main menu") 
     reload = input() 
     break 

main()  
+0

Ваш отступ испорчен - ваши определения методов не отступают должным образом под 'def'. –

+0

@BryanOakley спасибо, что указал. Я только что скопировал код из своего текстового редактора и вставил его. Он не должен был форматироваться правильно. –

ответ

0

В некотором роде вы могли бы, но это было бы трудно. Вы можете использовать кнопки или меню для выполнения команд, а затем метки для текста. Надеюсь, это поможет!