2016-07-21 20 views
0

私はtkinterボタンで少し遊んでいます。私はクロックスクリプトにいくつかのボタンを挿入したいと思っています。Python Tkinterのボタン - テキストなし

ボタンの終了(3行目の一番下から)を挿入すると、ボタンが挿入され、ボタンは機能しますが、ボタンにはテキストが表示されません。

このボタンにテキストを表示するにはどうすればよいですか?

import sys 
if sys.version_info[0] == 2: 
    from Tkinter import * 
    import Tkinter as tk 
else: 
    from tkinter import * 
    import tkinter as tk 

from time import * 


fontsize=75 
fontname="Comic Sans MS"  #font name - use Fontlist script for names 
fontweight="bold"  #"bold" for bold, "normal" for normal 
fontslant="roman"  #"roman" for normal, "italic" for italics 

def quit(): 
    clock.destroy() 

def getTime(): 
    day = strftime("%A") 
    date = strftime("%d %B %Y") 
    time = strftime("%I:%M:%S %p") 
    text.delete('1.0', END)     #delete everything 
    text.insert(INSERT, '\n','mid') 
    text.insert(INSERT, day + '\n', 'mid')  #insert new time and new line 
    text.insert(INSERT, date + '\n', 'mid') 
    text.insert(INSERT, time + '\n', 'mid') 
    clock.after(900, getTime)    #wait 0.5 sec and go again 


clock = tk.Tk() # make it cover the entire screen 
w= clock.winfo_screenwidth() 
h= clock.winfo_screenheight() 
clock.overrideredirect(1) 
clock.geometry("%dx%d+0+0" % (w, h)) 
clock.focus_set() # <-- move focus to this widget 
clock.bind("<Escape>", lambda e: e.widget.quit()) 
text = Text(clock, font=(fontname, fontsize, fontweight, fontslant)) 
text.grid(column = 1, columnspan = 1, row = 2, rowspan = 1, sticky='')   

Exit = Button(clock, text="Close Tkinter Window", width = w, height = 1, command=quit).grid(row = 1, rowspan = 1, column = 1, columnspan = w) 

clock.after(900, getTime) 
clock.mainloop() 
+1

いいえ、フォントはありません。 http://stackoverflow.com/questions/4072150/how-to-change-a-widgets-font-style-without-knowing-the-widgets-font-family-siz – dsgdfg

+0

解決策はまだ見つかりましたか?そうでない場合、私は今日それを見るかもしれません... – Ohumeronen

+1

まだ解決策はありません。私は回避策を見つけました - もし私が1つの列に終了ボタンを持っているのではなく、テキスト列にまたがるようにしようとするとうまくいくようです。 – Jon

答えて

1

ソート済みです。ボタンはテキストを表示していました。画面から離れていました。 tkinterのテキストウィンドウとボタンの幅を調整して解決しました。

0

wclock.winfo_screenwidth())の値は、ボタンの幅が広すぎます。ボタンの名前を左にスライドさせるだけです。そのため、ボタンの幅を小さい数字(200)に変更し、gridsticky=Wを追加すると、あまりスライドしなくなります。一方、ボタンの幅は、親ウィンドウの幅全体をカバーします(望むように)。そこで、置き換えるものを次に示します。

Exit = Button(clock, text="Close Tkinter Window", width = 200, height = 1, command=quit).grid(row = 1, rowspan = 1, column = 1, columnspan = w, sticky=W) 
関連する問題