Estou realmente intrigado com isso, mas a resposta é provavelmente muito simples e não consigo ver:
Eu tenho uma série de módulos python que funcionam bem a partir do intérprete python, mas nada acontece ao executar a partir de uma situação GUI. Eu tentei criar um arquivo .desktop, adicionando shebangs, alterando permissões para 777 e renomeando para .pyw
para todos os módulos. Um único módulo de teste funciona bem sozinho, então sei que não é um erro de digitação.
Se eu clicar no arquivo .pyw
do módulo principal e clicar em "Executar" no diálogo do sistema, nada acontece. Da mesma forma, o arquivo .py
(e o .desktop
via menu), nada acontece. Aqui está o começo do meu código:
#!/usr/bin/python3
import tkinter as tk, imp, sys
root = tk.Tk()
msg = tk.messagebox
sdg = tk.simpledialog
import capitaliser_cfg as cfg, fileio as io
imp.reload(cfg) ; imp.reload(io)
### GO AND GET COUNTY LIST ####
# Nb: attach to config for simplicity
cfg.counties = io.getfilelist("counties.txt", "London")
if not type(cfg.counties)==list:
k = msg.showerror(cfg.version, cfg.counties)
root.destroy()
root.mainloop()
### GO AND GET DICTIONARY ####
cfg.tempdict = [[],[],[]]
cfg.spelldict = io.getdictionary("addressdict.txt","roda","Road")
if not type(cfg.spelldict)==dict:
k = msg.showerror(cfg.version, cfg.spelldict)
root.destroy()
root.mainloop()
import thinbutton as tb, labelradio as lr, fieldblock as fb, bigbutton as bb
import textblock as tx, padding as pd, widget_tools as wt
import capitaliser_mth as mth
import capitaliser_bnd as bnd
imp.reload(tb) ; imp.reload(lr) ; imp.reload(fb) ; imp.reload(bb)
imp.reload(tx) ; imp.reload(pd) ; imp.reload(wt) ;
imp.reload(mth)
imp.reload(bnd)
Se eu put k = msg.showerror("xxxx","yyyy")
após a linha sdg = tk.simpledialog
, ainda assim nada acontece o que me leva a acreditar que o tkinter não está carregando por algum motivo.
Alguma ideia é de alguém?