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_nameself只是一个约定)

如果需要传递参数,可以使用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 的模块”

没有找到 tkinter 的匹配分布

导入 matplotlib 失败,在 heroku 上没有名为 _tkinter 的模块

Python 2.7:通过 Ttk 的主题“通用对话框”tkinter 接口?

ImportError DLL 加载失败导入 _tkinter