Python:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
| import tkinter as tk import tkinter.messagebox as messagebox def cancel_program(license_window): exit() def encrypt_script(): exit() def accept_license(license_window, rule1_var, rule2_var, rule3_var): if rule1_var.get() == 1 and rule2_var.get() == 1 and rule3_var.get() == 1: license_window.destroy() encrypt_script() else: messagebox.showerror("Error", "You must accept all the rules to proceed.") def show_license(): license_window = tk.Tk() license_window.title("License Agreement") license_text = "This is the license agreement text that needs to be displayed." label = tk.Label(license_window, text=license_text, justify="left") label.pack(padx=10, pady=10) rule1_var = tk.IntVar() rule2_var = tk.IntVar() rule3_var = tk.IntVar() rule1_checkbox = tk.Checkbutton(license_window, text="Accept Rule 1", variable=rule1_var) rule1_checkbox.pack() rule2_checkbox = tk.Checkbutton(license_window, text="Accept Rule 2", variable=rule2_var) rule2_checkbox.pack() rule3_checkbox = tk.Checkbutton(license_window, text="Accept Rule 3", variable=rule3_var) rule3_checkbox.pack() accept_button = tk.Button(license_window, text="Accept", command=lambda:accept_license(license_window, rule1_var, rule2_var, rule3_var)) accept_button.pack(side="left", padx=10, pady=10) cancel_button = tk.Button(license_window, text="Cancel", command=lambda:cancel_program(license_window)) cancel_button.pack(side="right", padx=10, pady=10) show_license() |
Dit is mijn code.
Deze code werkt in IDLE.
Deze code werkt als ik het direct in de pyton interpreter plak.
Roep ik echter het bestand aan vanuit de command prompt (test4.py) dan werkt het niet (ja ik zit in de goede map)
Compileer ik test4.py tot een .exe bestand dan krijg ik die netjes in de subfolder \dist\ gepresenteerd maar ook hier gebeurt er helemaal niks als ik het bestand open.
Is er iemand op deze planeet die het wel werkend krijgt?
Kan deze persoon mij ook vertellen waarom het bij mij niet werkt?
Ik heb veel ingewikkelder code succesvol omgezet naar .exe bestanden en die werken gewoon zoals het hoort.
Niet dat dat zo geweldig is, maar het is wel erg frustrerend dat zo een simpel stukje code niet werkt.
Als het werkt kan ik de inhoud aanpassen met de juiste informatie etc...
...
Relevante software en hardware die ik gebruik:
Python 3.10.9 op een laptop van DELL met 7e generatie i5 CPU draait op windows 10
...
Wat ik al gevonden of geprobeerd heb:
ik heb de hele app omgebouwd met PyQt dit werkt gewoon normaal maar i.p.v. 10 mb is mijn .exe nu 60 mb groot
de functie: def encrypt_script(): die leid momenteel ook tot een exit van het programma dit is om te testen maar hier moet eigenlijk een ander .py script aangeroepen worden, maar eerst wil ik weten waarom het enkel in IDLE of in de interpreter werkt maar niet als ik het omzet naar een .exe bestand of als ik test4.py open vanuit de command prompt.
'
Ook weet ik niet waarom alle spaties (indentations) eruit worden gehaald als ik de code hier post!
Voor degene die de moeite nemen om naar mijn probleem te kijken:
Hartelijk dank!!
...
[Voor 0% gewijzigd door Janoz op 26-01-2023 09:52. Reden: Code tags toegevoegd]