2014-12-02 5 views
6

Sto sviluppando utilizzando Python Tools per Visual Studio nell'edizione della comunità di Visual Studio 2013 su Windows 8.1. Il mio problema è che non riesco ad avviare una finestra di Tkinter. Ho provato con questo codice:Impossibile avviare la finestra Tkinter in Visual Studio con gli strumenti Python

from tkinter import * 
Tk() 

Quando lancio questo codice da IDLE e tale, io sono in grado di ottenere una finestra tkinter, come mostrato:

tkinter in idle

Tuttavia, quando inizio questo in Visual Studio, non appare la finestra di Tkinter, solo la finestra della console. Nessun errore è stato generato. Esempio:

tkinter in vs

Come faccio ad avere la finestra Tkinter ad apparire quando lancio il programma in Visual Studio con gli strumenti di Python?

Edit: Inoltre, quando provo a farlo dalla finestra interattiva Python in VS, questo è quello che ottengo, senza finestra che appare:

>>> from tkinter import * 
>>> Tk() 
<tkinter.Tk object at 0x02D81FD0> 
+0

Ciò potrebbe essere dovuto al mancato avvio automatico del mainloop di tkinter. Prova 'root = Tk(); root.mainloop() ' – fhdrsdg

+0

Questo non sembra avere un effetto diverso. – Jake

+1

Penso che PTVS usi IPython come console, quindi dovresti essere in grado di eseguire '% gui tk' prima di eseguire il tuo codice per avviare il ciclo di eventi di Tk. –

risposta

1

Molto probabilmente il problema è che non si è iniziando il ciclo degli eventi. Senza il ciclo degli eventi, il programma uscirà immediatamente. Prova alterando il vostro programma per assomigliare a questo:

import tkinter as tk 
root = tk.Tk() 
root.mainloop() 

La ragione per cui non c'è bisogno di chiamare mainloop in IDLE è perché IDLE che fa per voi. In tutti gli altri casi è necessario chiamare mainloop.