我一直在编写Python编程中的Tkinter章节,遇到一个问题,即按钮的前景色和背景色不会改变.我正在使用Python 2.6.1开发Mac OS X 10.6系统.标签的颜色会改变,但不会改变按钮的颜色.例如:
from Tkinter import *
Label(None, text='label', fg='green', bg='black').pack()
Button(None, text='button', fg='green', bg='black').pack()
mainloop()
Run Code Online (Sandbox Code Playgroud)
在我的Mac系统上,标签的颜色会发生变化,但按钮的颜色却没有变化.在使用Python 2.6.1的Windows系统上,标签和按钮的颜色都会发生变化.
谁知道出了什么问题?
我检查了Interface Builder,看来没有选项可以更改该工具中按钮的前景色或背景色.可以编辑标签的前景色和背景色.
Mac OS X渲染系统(Quartz?)可能不支持(轻松)更改按钮的fg和bg.
我必须VPN,然后从家里ssh到我的工作服务器,并希望在后台运行python脚本,然后注销ssh会话.我的脚本使用matplotlib制作了几个直方图,只要我保持连接打开一切都很好,但如果我退出,我会在为脚本创建的日志文件中收到错误消息.
File "/Home/eud/jmcohen/.local/lib/python2.5/site-packages/matplotlib/pyplot.py", line 2058, in loglog
ax = gca()
File "/Home/eud/jmcohen/.local/lib/python2.5/site-packages/matplotlib/pyplot.py", line 582, in gca
ax = gcf().gca(**kwargs)
File "/Home/eud/jmcohen/.local/lib/python2.5/site-packages/matplotlib/pyplot.py", line 276, in gcf
return figure()
File "/Home/eud/jmcohen/.local/lib/python2.5/site-packages/matplotlib/pyplot.py", line 254, in figure
**kwargs)
File "/Home/eud/jmcohen/.local/lib/python2.5/site-packages/matplotlib/backends/backend_tkagg.py", line 90, in new_figure_manager
window = Tk.Tk()
File "/Home/eud/jmcohen/.local/lib/python2.5/lib-tk/Tkinter.py", line 1647, in __init__
self.tk = _tkinter.create(screenName, baseName, className, interactive, wantobjects, useTk, sync, use)
_tkinter.TclError: couldn't connect to display "localhost:10.0"
Run Code Online (Sandbox Code Playgroud)
我假设它不知道在哪里创建我想要的数字,因为我关闭了我的X11 ssh会话.如果我在脚本运行时登录,我没有看到任何数字弹出(虽然那是因为我的脚本中没有show()命令),我认为python使用tkinter来显示数字.我创建数字的方式是,
loglog()
hist(list,x)
ylabel('y')
xlabel('x')
savefig('%s_hist.ps' %source.name)
close()
Run Code Online (Sandbox Code Playgroud)
该脚本需要一些初始输入,所以我在后台运行它的方式是
python scriptToRun.py << start>& logfile.log& …Run Code Online (Sandbox Code Playgroud) 如果我使用画布来显示数据,并且我希望用户能够点击画布上的各种项目以获取更多信息或以某种方式与其进行交互,那么最好的方法是什么?
在线搜索我可以找到有关如何将事件绑定到标签的信息,但这似乎比我想要的更间接.我不想使用标签对项目进行分组,而是在用户单击画布上的特定项目时进行特定的函数调用.
widget.bind('<Button-1>',callback) # binding
def callback(self,event)
#do something
Run Code Online (Sandbox Code Playgroud)
我需要传递一个论点callback().参数是一个字典对象.
如何在Tkinter中添加图像?
这给了我一个语法错误:
root = tk.Tk()
img = ImageTk.PhotoImage(Image.open(path))
panel = tk.Label(root, image = img)
panel.pack(side = "bottom", fill = "both", expand = "yes")
root.mainloop()
Run Code Online (Sandbox Code Playgroud) 据我所知,Tk按键和键释放事件只能在按键实际按下或释放时触发?
但是,使用以下简单代码,如果我按住"a"键,我将获得连续按键/键释放事件的连续序列.
我做错了什么还是TkInter越野车?这是关于Linux的Python2.7.
from Tkinter import *
def keyup(e):
print 'up', e.char
def keydown(e):
print 'down', e.char
root = Tk()
frame = Frame(root, width=100, height=100)
frame.bind("<KeyPress>", keydown)
frame.bind("<KeyRelease>", keyup)
frame.pack()
frame.focus_set()
root.mainloop()
Run Code Online (Sandbox Code Playgroud)
按住"a"时输出:
down a
up a
down a
up a
down a
up a
down a
up a
etc...
Run Code Online (Sandbox Code Playgroud) 我正在构建一个将matplotlib图形嵌入GUI的应用程序.问题是,一旦我将matplotlib中的任何内容添加到我的代码中,我的应用程序就会崩溃(导入除外,这些工作正常).在我的课,会出现问题Solver_App的tk.Tk.__init__(self, *args, **kwargs).当我运行代码时,我收到一个巨大的错误,应用程序崩溃.这是我的一些代码:
import tkinter as tk
from tkinter import ttk
import matplotlib
from matplotlib import pyplot as plt
from mpl_toolkits.mplot3d import Axes3D
from matplotlib.backends.backend_tkagg import FigureCanvasTkAgg, NavigationToolbar2TkAgg
from matplotlib.figure import Figure
# Setting up figures for integration in GUI:
fig_3D = plt.figure()
fig_2D = plt.figure()
a_3D = fig_3D.add_subplot(111, projection="3d")
a_2D = fig_2D.add_subplot(111)
a_3D.plot_wireframe([1, 2, 3, 4, 5], [1, 3, 7, 6, 4], [1, 2, 3, 4, 5], color="blue")
class Solver_App(tk.Tk, ttk.Frame):
def __init__(self, *args, **kwargs): …Run Code Online (Sandbox Code Playgroud) 我正在尝试构建我的第一个 GUI 程序,并且想知道由谁来更改标签文本颜色?例如,将其更改为“红色”
import tkinter as tk
root = tk.Tk()
label = tk.Label(root, text="what's my favorite video?", pady=10, padx=10, font=10,)
label.pack()
click_here = tk.Button(root, text="click here to find out", padx = 10, pady = 5)
click_here.pack()
root.mainloop()
Run Code Online (Sandbox Code Playgroud)
多谢 :-)
使用标记的按钮编写GUI应用程序"Good-bye".当
Button被点击时,窗口关闭.
到目前为止这是我的代码,但它不起作用.任何人都可以帮我解决我的代码吗?
from Tkinter import *
window = Tk()
def close_window (root):
root.destroy()
frame = Frame(window)
frame.pack()
button = Button (frame, text = "Good-bye.", command = close_window)
button.pack()
window.mainloop()
Run Code Online (Sandbox Code Playgroud) 我需要在Tkinker中创建一个OpenGL上下文,以便将它与PyOpenGL Python模块一起使用.
Tkinker本身并不支持OpenGL上下文,但我发现PyOpenGL文档此页,讲解如何使用的包装,包括为这个模块中: http://pyopengl.sourceforge.net/documentation/context/
我试图运行提供的代码,但我收到一条消息说没有找到TOGL模块.我从http://togl.sourceforge.net/下载了该模块,但无法使其工作.
PS.我使用virtualenv在Mac OS X上使用Python 3.2进行了测试.
tkinter ×10
python ×9
matplotlib ×2
arguments ×1
background ×1
binding ×1
events ×1
macos ×1
opengl ×1
python-3.x ×1
ssh ×1
tk-toolkit ×1
ttk ×1