J'utilise Python 3.1 en passant. J'essaie de créer une interface graphique simple en utilisant Tkinter - label, champ de saisie de texte, bouton sur la première ligne et zone de texte modifiable avec barre de défilement à droite et en bas - sur la deuxième ligne. S'il vous plaît aidez-moi à réparer la mise en page. Ce que j'ai ci-dessous ne fonctionne pas tout à fait. Si je dois utiliser une grille, je le ferai. Je souhaite garder le code très simple - je veux "vendre" Python à certains de mes collègues. Donc, je veux avoir un aspect et une sensation plutôt décents. Suggérez un meilleur rembourrage si cela ne vous dérange pas. Aussi, si mes noms de variable, etc. semblent bizarres, alors s'il vous plaît faites une note.Python 3.1 Aide à la mise en page Tkinter. Je suis proche, s'il vous plaît aidez-moi à finir cela
En même temps je veux faire semblant que c'est un script jetable sur lequel je n'ai pas passé beaucoup de temps. Puisque je demande votre aide, ce n'est pas le cas, mais ils n'ont pas besoin de savoir;). Donc, je ne veux pas introduire de code fantaisie pour créer de belles bordures, etc. Je veux juste quelque chose qui soit visuellement attrayant, propre et simple. Si je ne le fais pas, alors ma présentation n'atteindra pas son objectif.
Merci, mon code est ci-dessous:
class App:
def __init__(self, parent):
frame = Frame(parent)
self.__setup_gui(frame) # Call Helper
frame.pack(padx=15, pady=15)
parent.title('To be changed')
def __setup_gui(self, frame):
# First Row
self.cs_label = Label(frame, text='Change Set: ')
self.cs_label.pack(side=LEFT, padx=10, pady=10)
self.cs_val = Entry(frame, width=10)
self.cs_val.pack(side=LEFT, padx=10, pady=10)
self.get_button = Button(frame, text='Get', command=self.get_content)
self.get_button.pack(side=LEFT, padx=10, pady=10)
# Text area and scrollbar
self.text_area = Text(frame, height=10, width=50, background='white')
# Put a scroll bar in the frame
scroll = Scrollbar(frame)
self.text_area.configure(yscrollcommand=scroll.set)
self.text_area.pack(side=TOP)
scroll.pack(side=RIGHT,fill=Y)
self.clipboard_var = IntVar()
self.notepad_var = IntVar()
def get_content(self):
print(self.clipboard_var.get())
print(self.notepad_var.get())
###################################################################################################
if __name__ == '__main__':
root = Tk()
app = App(root)
root.mainloop()
Très cool! Maintenant, comment puis-je obtenir une barre de défilement en bas? –
J'ai traversé et changé le code pour une barre de défilement horizontale aussi; Je devais revenir à l'utilisation de Text plutôt qu'à ScrolledText pour une apparence visuelle optimale, et pour la rendre utile, je devais régler wrap sur NONE. Vous trouverez peut-être les informations sur http://www.effbot.org/zone/tkinter-scrollbar-patterns.htm utiles pour d'autres fonctions de barre de défilement. –
Votre solution a un mauvais comportement de redimensionnement. Vous devez inclure les appels à columnconfigure et rowconfigure, en indiquant les valeurs de pondération appropriées pour la ou les lignes et colonnes que vous souhaitez agrandir ou réduire. –