J'ai utilisé Tix pour créer une comboBox et cela provoque un plantage intermittent si la boîte de saisie reste vide.Tix ComboBox provoque le plantage de python2.7
Je suis novice en Python et je suis très novice en matière de programmation graphique. J'ai donc utilisé l'exemple pour m'instruire. Lorsque vous utilisez l'exemple de code suivant, vous devez pouvoir entrer une valeur dans la zone de saisie ou sélectionner une forme dans le menu déroulant. Cependant, si vous laissez le champ vide et que vous appuyez sur OK, le python se bloque.
import Tix
import tkMessageBox
class App(object):
def __init__(self, window):
window.winfo_toplevel().wm_title("test")
self.window = window
self.combo = Tix.ComboBox(window)
self.combo.insert(Tix.END, 'thing1')
self.combo.insert(Tix.END, 'thing2')
self.combo.entry['state'] = "normal"
self.combo['editable'] = True
self.combo.pack()
button = Tix.Button(window)
button['text'] = "Go"
button['command'] = self.go
button.pack()
def go(self):
tkMessageBox.showinfo('info', self.combo['selection'])
if __name__ == '__main__':
root = Tix.Tk()
App(root)
root.mainloop()
========================= DÉTAILS CRASH:
Problem signature:
Problem Event Name: APPCRASH
Application Name: python2.7.exe
Application Version: 0.0.0.0
Application Timestamp: 4cfbf049
Fault Module Name: ntdll.dll
Fault Module Version: 6.1.7600.16385
Fault Module Timestamp: 4a5bdb3b
Exception Code: c0000005
Exception Offset: 0002e23e
OS Version: 6.1.7600.2.0.0.256.48
Locale ID: 2057
Additional Information 1: 0a9e
Additional Information 2: 0a9e372d3b4ad19135b953a78882e789
Additional Information 3: 0a9e
Additional Information 4: 0a9e372d3b4ad19135b953a78882e789
Alors
A ] est-ce quelque chose que l'exemple fait mal?
B] existe-t-il un meilleur moyen?
C] Dois-je utiliser du Tix?
J'ai remarqué que certaines personnes semblent se méfier de Tix et n'utilisent que Tkinter. Y a-t-il une raison à cela? Est-ce que je ne devrais pas utiliser Tix?
++++++++++++++++++++++++++++
Ok, donc j'ai réussi à en ajoutant monkey-patch valeur = » 'si la chaîne de retour n'est pas vide, puis lstrip() la valeur quand j'en ai besoin. Très laid mais m'empêche de planter pour l'instant; jusqu'à ce que quelqu'un de plus sage puisse me donner une meilleure réponse. Si l'utilisateur supprime l'espace, puis appuie sur «Go», il va de nouveau tomber en panne!
Je souhaite que vous étiez là quand j'ai commencé à utiliser Python pour la première fois et m'a indiqué wx! Wx semble incroyable et a une bonne documentation. . . Je pourrais juste réécrire tout en wx – user600295