2017-10-12 3 views
0

Je comprends et ai regardé des questions, mais je ne peux pas comprendre ce que le code est et ce que les gens suggèrent ou c'est juste pas ce que j'essaye de faire. Donc, j'essaie d'ajouter un truc à cette monnaie pour un jeu RPG que je joue avec mes amis.Comment ajouter un GUI?

jusqu'ici son texte, mais je l'aimerais si c'était un gui.

bronze = 0 
silver = 0 
gold = 0 
inpt = "" 
temp1 = "" 
temp2 = 0 

def convert(): 
    global bronze 
    global silver 
    global gold 

    while bronze >= 100: 
     bronze -=100 
     silver += 1 
    while silver >= 100: 
     silver -= 100 
     gold += 1 

    while bronze < 0: 
     bronze += 100 
     silver -= 1 
    while silver < 0: 
     silver += 100 
     gold -= 1 

    if gold < 0: 
     print("Illegal action") 

    print("You have", int(bronze), "bronze,", int(silver), "silver,", int(gold), "gold.") 

while 1>0: 
    inpt = input("Add, Subtract, Convert, Space or Help? ") 


    if inpt.lower() == "add": 
     temp1 = input("What do you want to add? ") 
     if temp1.lower() == "bronze": 
      temp2 = int(input("How much bronze do you want to add? ")) 
      bronze += temp2 
     elif temp1.lower() == "silver": 
      temp2 = int(input("How much silver do you want to add? ")) 
      silver += temp2 
     elif temp1.lower() == "gold": 
      temp2 = int(input("How much gold do you want to add? ")) 
      gold += temp2 
     else: 
      print("That is not a currency...") 
     convert() 


    elif inpt.lower() == "subtract": 
     temp1 = input("What do you want to subtract? ") 
     if temp1.lower() == "bronze": 
      temp2 = int(input("How much bronze do you want to subtract? ")) 
      bronze -= temp2 
     elif temp1.lower() == "silver": 
      temp2 = int(input("How much silver do you want to subtract? ")) 
      silver -= temp2 
     elif temp1.lower() == "gold": 
      temp2 = int(input("How much gold do you want to subtract? ")) 
      gold -= temp2 
     else: 
      print("That is not a currency...") 
     convert() 


    elif inpt.lower() == "space": 
     print("") 


    elif inpt.lower() == "help": 
     print("Add command adds currencies together.") 
     print("Subtract command subtracts currencies together.") 
     print("Space command makes a paragraph space") 


    else: 
     print("Unknown command") 

j'ai regardé des articles sur l'utilisation tkinter, mais il est vraiment difficile à comprendre, je ne peux pas comprendre comment faire les boutons fonctionnent.

voici les spécifications:

  • il a besoin d'un indicateur de nombre pour le bronze, l'argent et l'or séparément. avec leurs couleurs en conséquence.

  • il faut un bouton pour ajouter et un bouton pour soustraire aussi des sous-boutons pour le bronze, l'argent et l'or. de sorte que l'entrée sache où vous entrez.

  • il a besoin d'un espace pour l'entrée.

Merci pour l'aide!

+0

Si vous avez lu des articles entiers sur l'utilisation de tkinter, comment pensez-vous que nous serons en mesure de vous aider avec une réponse courte? –

+0

parce que je peux poser des questions différentes. J'ai vu quelques exemples d'eux utilisés mais ils ont "self" utilisé dans eux ou "classe" et je ne sais pas ce qu'ils sont –

+0

Ce que vous voyez s'appelle 'Programmation Orientée Objet (POO)'. C'est un paradigme de programmation similaire à la procédure que vous programmez en ce moment. Sans comprendre la POO, il vous sera presque impossible d'utiliser tkinter. Je suggère d'apprendre les bases de la POO avant de revoir la programmation GUI en général, indépendamment de tkinter. –

Répondre

0

Le dessous est juste pour l'interface graphique de ce programme, pas d'arrière-plan:

from tkinter import * 

class App: 
    def __init__(self, root): 
     self.root = root 
     self.top = Toplevel(self.root) 
     self.top.withdraw() 
     self.v = StringVar() 
     self.v.set("Add") 
     self.topbronzelabel = Label(self.top, text="Bronze:") 
     self.topbronze = Entry(self.top) 
     self.topsilverlabel = Label(self.top, text="Silver:") 
     self.topsilver = Entry(self.top) 
     self.topgoldlabel = Label(self.top, text="Gold:") 
     self.topgold = Entry(self.top) 
     self.choice = [Radiobutton(self.top, text="Add", variable=self.v, value="Add", indicatoron=0), Radiobutton(self.top, text="Subtract", variable=self.v, value="Subtract", indicatoron=0), Radiobutton(self.top, text="Convert", variable=self.v, value="Convert", indicatoron=0)] 
     self.ok = Button(self.top, text="OK", command=self.ok) 

     self.topbronzelabel.pack(fill="both", expand=True) 
     self.topbronze.pack(fill="both", expand=True) 
     self.topsilverlabel.pack(fill="both", expand=True) 
     self.topsilver.pack(fill="both", expand=True) 
     self.topgoldlabel.pack(fill="both", expand=True) 
     self.topgold.pack(fill="both", expand=True) 
     for i in self.choice: 
      i.pack(fill="both", expand=True) 
     self.ok.pack(fill="both", expand=True) 

     self.bronze = Label(self.root, text="Bronze: 0") 
     self.silver = Label(self.root, text="Silver: 0") 
     self.gold = Label(self.root, text="Gold: 0") 
     self.modify = Button(self.root, text="Modify?", command=self.modify) 

     self.bronze.pack(fill="both", expand=True) 
     self.silver.pack(fill="both", expand=True) 
     self.gold.pack(fill="both", expand=True) 
     self.modify.pack(fill="both", expand=True) 
    def modify(self): 
     self.top.deiconify() 
    def ok(self): 
     self.top.withdraw() 

root = Tk() 
App(root) 
root.mainloop() 

Cela va créer une sélection d'étiquettes que vous pouvez ensuite remplir avec des valeurs avec un bouton qui ouvre une autre boîte de dialogue et de permettre vous permet d'entrer trois valeurs et un nombre de boutons radio qui permet à l'utilisateur de sélectionner une action à effectuer.

+0

Merci beaucoup! Mais ce serait très utile si vous ajoutiez des informations sur comment ça marche et ce que ça fait avec le "#", comme ça, "#ce sont les étiquettes chargées" et d'autres choses comme ça. Je suis un noob à la programmation, désolé. –