python2.7 里有tkinter么 我的没有 怎么安装啊
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了python2.7 里有tkinter么 我的没有 怎么安装啊相关的知识,希望对你有一定的参考价值。
我去查了下,Tkinter是Python内置的。你可以去:
用google搜:
Tkinter
然后找到:
24.1. Tkinter — Python interface to Tcl/Tk — Python v2.7.3
可以看到,直接使用:
import Tkinter
就可以导入了。
另,帮你拷贝了示例代码:
from Tkinter import *
class Application(Frame):
def say_hi(self):
print "hi there, everyone!"
def createWidgets(self):
self.QUIT = Button(self)
self.QUIT["text"] = "QUIT"
self.QUIT["fg"] = "red"
self.QUIT["command"] = self.quit
self.QUIT.pack("side": "left")
self.hi_there = Button(self)
self.hi_there["text"] = "Hello",
self.hi_there["command"] = self.say_hi
self.hi_there.pack("side": "left")
def __init__(self, master=None):
Frame.__init__(self, master)
self.pack()
self.createWidgets()
root = Tk()
app = Application(master=root)
app.mainloop()
更多python相关的东西,感兴趣的话,可以用google搜:
crifan Python语言总结
而找到我写的教程。
刚去写了个帖子,测试了一下tkinter,需要的可以去看看:
【记录】折腾Python中的Tkinter
(此处不给贴地址,请自己用google搜标题,即可找到帖子地址) 参考技术A
tkinter是内置的模块,不会不存在的,而是不同的版本的导入形式不同,现总结如下:
# -*- coding: cp936 -*-import os, sys
try:
from tkinter import *
except ImportError: #Python 2.x
PythonVersion = 2
from Tkinter import *
from tkFont import Font
from ttk import *
from tkMessageBox import *
import tkFileDialog
else: #Python 3.x
PythonVersion = 3
from tkinter.font import Font
from tkinter.ttk import *
from tkinter.messagebox import * 参考技术B 我估计是你大小写写错了吧,要import Tkinter,不能import tkinter 参考技术C sudo apt-get install python-tk 参考技术D 我在funtoo上编译时 默认的USE -tk ,你需要重新emerge 带上USE="tk" ,估计你也是类似情况,编译时没有带上,gentoo应该也是同样的
Python / Tkinter:使用按钮更新类变量
这可能是一个愚蠢的问题,但我在这里找不到答案,所以这里就是这样。
我正在设置一个Tkinter接口,而我只有一个按钮。单击此按钮时应将变量go
更改为1
,我已经通过要求它调用与同一类中的函数getGo(self)
来完成此操作。设置按钮的init
功能。
我的问题是它没有运行整个goTime()
函数:即,它不会更新我的变量go
。
init
功能:
class New_Toplevel_1:
go=0
def __init__(self, top=None):
self.butGo = Button(top,command=lambda *args: goTime(self))
self.butGo.place(relx=0.48, rely=0.84, height=41, width=65)
self.butGo.configure(activebackground="#7bd93b")
self.butGo.configure(font=font12)
self.butGo.configure(text='''Go!''')
def goTime(self):
print("It's go time!")
self.go=1
print("go has been updated")
输出看起来像这样(重复我点击按钮的次数):
It's go time!
It's go time!
It's go time!
It's go time!
为什么不更新变量?或甚至显示“go has been updated
”?谢谢!
答案
你错误地传递了command
参数,只是这样做:
self.butGo = Button(top, command=self.goTime)
要引用实例方法/属性,你必须做self.method_name
(self
只是一个约定)
如果需要传递参数,可以使用lambda:
command=lambda: self.go_time(5)
command=lambda n: self.go_time(n)
...
虽然我更喜欢functools.partial
:
from functools import partial
class NewToplevel1:
go = 0
def __init__(self, top=None):
self.butGo = Button(top, command=partial(self.go_time, 5))
self.butGo.place(relx=0.48, rely=0.84, height=41, width=65)
self.butGo.configure(activebackground="#7bd93b")
self.butGo.configure(text='''Go!''')
def go_time(self, n):
print("It's go time!")
self.go = n
print("go has been updated")
print(self.go)
以上是关于python2.7 里有tkinter么 我的没有 怎么安装啊的主要内容,如果未能解决你的问题,请参考以下文章
Python2.7.3 Tkinter Entry(文本框) 说明
使用 Pmw 时出现“ImportError:没有名为 tkinter 的模块”
导入 matplotlib 失败,在 heroku 上没有名为 _tkinter 的模块