我正在尝试更改我的tkinter窗口上的图标,我认为我的问题源于我缺乏理解课程.
我想知道原因:
import tkinter
root = tkinter.Tk()
img = tkinter.PhotoImage(file = r'stockIcon.gif')
root.tk.call('wm', 'iconphoto', root._w, img)
root.mainloop()
Run Code Online (Sandbox Code Playgroud)
工作得很好.但:
import tkinter
class Test:
def __init__(self):
self.root = tkinter.Tk()
self.img = tkinter.PhotoImage(file = r'stockIcon.gif')
self.root.tk.call('wm', 'iconphoto', root._w, img)
self.root.mainloop()
test = Test()
Run Code Online (Sandbox Code Playgroud)
抛出NameError: name 'root' is not defined.我有什么误会?
伙计们,我正在尝试使用 python(version - 3.5) tkinter 在 GUI 上显示带有 python 的文本文件,但是在 tkinter 的文本小部件中显示文件中的文本时我发现了一些困难。有人可以指导我如何做。
我的代码:
configfile = Text(f3, wrap=WORD, width=45, height= 20)
filename='/etc/hosts'
file = open(filename,'r')
f = file.readlines()
configfile.insert(INSERT,[print(i) for i in f])
configfile.pack(fill="none", expand=TRUE)
Run Code Online (Sandbox Code Playgroud)
注意:我现在只使用打印。我想在文本小部件中显示它而不是在 cli 中打印。此外,我省略了发布完整源代码以避免混淆,因为我对 tkinter 和 python 有点陌生。
有人请指导我如何。提前致谢 :-)
我正在使用 python3 的 tkinter 在 GUI 上做。对于一个框架,我希望结果是这样的:
但是当我尝试使用此代码时:
master.title("Homepage")
master.title("Window to check information")
master.geometry('%dx%d+%d+%d' % (850, 800, (master.winfo_screenwidth() - 850) / 2, 0))
self.information = tkst.ScrolledText(self, wrap=tk.WORD, height=20, width=100)
self.btn1 = tk.Button(self, text='Cours', height=3, width=40)
self.btn2 = tk.Button(self, text='Absences', height=3, width=40)
self.btn3 = tk.Button(self, text='Notes', height=3, width=40)
self.btn4 = tk.Button(self, text='Return', height=3, width=40)
self.information.config(font=font.Font(size=15))
self.information.configure(background='#C0C0C0')
self.btn2.config(font=font.Font(size=12))
self.btn3.config(font=font.Font(size=12))
self.btn1.config(font=font.Font(size=12))
self.btn4.config(font=font.Font(size=12))
self.information.grid(row=0,column=0)
self.btn1.grid(row=1,column=0)
self.btn2.grid(row=1,column=1)
self.btn3.grid(row=2,column=0)
self.btn4.grid(row=2,column=1)
Run Code Online (Sandbox Code Playgroud)
有人可以帮助我如何编写grid或pack的代码来实现第一张图片吗?谢谢你。
我有这个代码显示一个页面,然后当按下 PAGE1 按钮时转到其他框架。在这里,我想在任何标签中显示时间,但我希望它自动更新。我不能自己做
import Tkinter as tk
from Tkinter import *
import time
import datetime
def clock():
time = datetime.datetime.now().strftime("Time: %H:%M:%S")
print time
class MainApp(tk.Tk):
def __init__(self, *args, **kwargs):
tk.Tk.__init__(self, *args, **kwargs)
container = tk.Frame(self)
container.pack(side="top", fill="both", expand=True)
container.grid_rowconfigure(0, weight=1)
container.grid_columnconfigure(0, weight=1)
self.frames = {}
for F in (MainPage, page1, help):
page_name = F.__name__
frame = F(parent=container, controller=self)
self.frames[page_name] = frame
frame.grid(row=0, column=0, columnspan=12,sticky="nsew")
frame.grid_columnconfigure(0, weight=1)
frame.grid_columnconfigure(1, weight=1)
frame.grid_columnconfigure(2, weight=1)
frame.grid_columnconfigure(3, weight=1)
frame.grid_columnconfigure(4, weight=1)
frame.grid_columnconfigure(5, weight=1)
frame.grid_columnconfigure(6, weight=1)
frame.grid_columnconfigure(7, weight=1) …Run Code Online (Sandbox Code Playgroud) 无论我对我的复选按钮做什么,它似乎都没有设置变量。以下是所涉及的代码部分:
class Window:
def __init__(self):
self.manualb = 0 #to set the default value to 0
def setscreen(self):
#screen and other buttons and stuff set here but thats all working fine
manual = tkr.Checkbutton(master=self.root, variable=self.manualb, command=self.setMan, onvalue=0, offvalue=1) #tried with and without onvalue/offvalue, made no difference
manual.grid(row=1, column=6)
def setMan(self):
print(self.manualb)
#does some other unrelated stuff
Run Code Online (Sandbox Code Playgroud)
它只是一直打印 0。我做错了什么吗?没有其他任何东西可以手动操作。
所以我试图从用户那里获取数据,然后我希望 gui 窗口关闭,并在他们单击“Enter”后立即将数据保存到我的代码的变量中。但窗户就停留在那里。我如何让它保存数据,同时关闭 gui 窗口?
#pop up window
def show_entry_fields():
global ModelNumber,PowerOutput,SerialNumber
ModelNumber=e1.get()
PowerOutput=e2.get()
SerialNumber=e3.get()
master = Tk()
master.title("Model Information")
master.geometry("500x300")
master.iconbitmap("square.ico")
Label(master, text="Model Information").grid(row=0,column=1)
Label(master, text="Model Number ").grid(row=2)
Label(master, text="Power Output (w)").grid(row=3)
Label(master,text="Serial Number").grid(row=4)
e1 = Entry(master)
e2 = Entry(master)
e3 = Entry(master)
e1.grid(row=2, column=1)
e2.grid(row=3, column=1)
e3.grid(row=4, column=1)
Button(master, text='Enter', command=show_entry_fields).grid(row=6,
column=1, sticky=W, pady=4)
mainloop()
master.withdraw()
Run Code Online (Sandbox Code Playgroud) 我想在 Raspberry Pi(或者,就此而言,任何基于 Unix/Linux 的计算机)上运行一个 Python 程序,它可以有效地将整个屏幕变成一个画布,并允许我在其上实时绘制文本和图形对象。我理想地希望这也能自动隐藏桌面上的所有其他内容并消除窗口框架和任务栏,类似于以全屏模式播放视频(使用 ESC 退出)。
到目前为止,我的研究表明 Tkinter/Canvas 将是最简单的解决方案。但是,虽然我在网上找到了一些例子来完成我上面描述的部分内容,但我无法将这些部分放在一起完成所有工作的形式。我之前没有使用 Tkinter 的经验也无济于事。
如果有人能指出我所描述的设置的最小工作示例,我将不胜感激。
Python 3.3.2 Hello.My问题 - 需要为输入数据(矩阵或表)创建GUI.并从此表单数据中获取.例如:
float
完美的解决方案是输入形式的限制(只有浮动).
问题:我能用什么?Tkinter没有表.. wxPython不支持Python 3. PyQt4?(mb你有例子如何从tabel中获取数据A=[[1.02,-0.25,-0.30,0.515],[-0.41,1.13,-0.15,1.555],[-0.25,-0.14,1.21,2.780]]?)
任何人都有想法?
我正在尝试自学python并遇到了一个我不确定的错误.错误看起来像这样:
Exception in Tkinter callback
Traceback (most recent call last):
File "/usr/lib/python3.2/tkinter/__init__.py", line 1426, in __call__
return self.func(*args)
File "/home/pi/python/SolutionMixerGUI.py", line 39, in calculate
fgTotal = self.vol * fgML
TypeError: unsupported operand type(s) for *: 'type' and 'float'
Run Code Online (Sandbox Code Playgroud)
我知道这个错误告诉我,我不能将这两种类型相乘,我很困惑'类型'是什么.任何人都可以帮我清除这个错误.完整代码如下.
from tkinter import *
class App:
def __init__(self,master):
frame = Frame(master)
frame.pack()
Label(frame, text='Solution in liters:').grid(row=0, column=0)
self.vol = DoubleVar
Entry(frame, textvariable=self.vol).grid(row=0, column=1)
Label(frame, text='Growth Stage (1-5):').grid(row=1, column=0)
self.stage = IntVar
Entry(frame, textvariable=self.stage).grid(row=1, column=1)
self.fgTotal = DoubleVar
self.fmTotal = DoubleVar
self.fbTotal …Run Code Online (Sandbox Code Playgroud)