Tkinter Tkk GUI не отображается при загрузке
Я новичок в Python, а также в Raspberry PI.
Я разработал приведенную ниже программу Python с использованием библиотеки Tkinter.
#! /usr/bin/env python3
# Test program
#libraries IMPORT
import RPi.GPIO as GPIO #/usr/lib/python3/dist-packages/RPi
import time
from time import sleep
try:
from Tkinter import * #/usr/lib/python3.4/tkinter
from Tkinter import ttk
except ImportError:
from tkinter import *
from tkinter import ttk
# functions
def eseguiQUIT (event):
#routine spegnimento app
## chiusura interfaccia grafica
root.destroy()
## Spegnimento canali GPIO
GPIO.output(chan_list, GPIO.LOW) # tutti i canali spenti
## GPIOs
chan_list = [3,5,7,8,10,11,12,13,15,16,18,19,21,22,23,24,26,29,31]
GPIO.setmode(GPIO.BOARD)
GPIO.setwarnings(False)
GPIO.setup(chan_list,GPIO.OUT) # tutti i canali definiti come uscite
GPIO.output(chan_list, GPIO.LOW) # tutti i canali spenti
sleep (2)
GPIO.output(chan_list[0], GPIO.HIGH) # LED0 ON
sleep (1)
GPIO.output(chan_list[1], GPIO.HIGH) # LED1 ON
sleep (1)
GPIO.output(chan_list[2], GPIO.HIGH) # LED2 ON
sleep (1)
GPIO.output(chan_list[3], GPIO.HIGH) # LED3 ON
### Graphic interface creation Tkinter e TTK
root = Tk()
root.title("COMANDO LUCI")
root.geometry('+20+20')
root.resizable(FALSE,FALSE)
#creazione frame principale
frame = ttk.Frame (root, borderwidth=5, )
## Configura righe e colonne del frame
for colonna in range (0,4):
frame.columnconfigure(colonna, weight=1)
for righe in range (0,30):
frame.rowconfigure(righe, weight=1)
frame.grid(row=0,column=0)
# Sotto frame Opzioni e generale
ContieniOG = LabelFrame(frame, borderwidth=1, relief="groove",text = "COMANDI e Opzioni")
ContieniOG.grid(column=0,columnspan =1, row=0, sticky="nw")
## Opzioni
QUIT = Button(ContieniOG, text ="QUIT", relief="groove",width="5", height = "1", fg = "black")
QUIT.grid(column=0,columnspan =1, row=0,sticky="nw")
QUIT.bind("<ButtonRelease>", eseguiQUIT)
#### Attivazione
mainloop()
root.mainloop()
Он хорошо работает в оболочке Python, а также, если я запускаю его с помощью команды терминала, но....
Я не могу увидеть графический интерфейс, если я запускаю его при загрузке (используя несколько методов), в то время как программа, очевидно, работает, все светодиоды на выходах горят, как и ожидалось, и тогда я вижу стандартный рабочий стол.
Я что-то пропустил?
Заранее благодарю за помощь
Giga