标签: tk-toolkit

来自matplotlib.backends import _tkagg ImportError:无法导入名称_tkagg

在试图跑步的同时 示例以测试matplotlib如何与Tkinter一起工作时,我收到错误:

(env)fieldsofgold@fieldsofgold-VirtualBox:~/new$ python test.py
Traceback (most recent call last):
  File "test.py", line 7, in <module>
    from matplotlib.backends.backend_tkagg import FigureCanvasTkAgg, NavigationToolbar2TkAgg
  File "/home/fieldsofgold/new/env/local/lib/python2.7/site-packages/matplotlib/backends/backend_tkagg.py", line 13, in <module>
    import matplotlib.backends.tkagg as tkagg
  File "/home/fieldsofgold/new/env/local/lib/python2.7/site-packages/matplotlib/backends/tkagg.py", line 7, in <module>
    from matplotlib.backends import _tkagg
ImportError: cannot import name _tkagg
Run Code Online (Sandbox Code Playgroud)

使用此处提供的解决方案,我尝试使用以下命令卸载matplotlib并安装tk和tk-dev软件包:

sudo apt-get install tk8.5
sudo apt-get install tk-dev
Run Code Online (Sandbox Code Playgroud)

然后重新安装matplotlib pip install matplotlib 但我仍然得到相同的错误.任何帮助,将不胜感激.我在VirtualBox上使用Ubuntu 14.04并在virtualenv环境中工作.非常感谢.

python tk-toolkit pip matplotlib virtualenv

14
推荐指数
3
解决办法
2万
查看次数

Tkinter的overrideredirect可防止Mac和Linux中的某些事件

我正在用Python编写一个带有Tkinter UI的程序.我想要一个没有标题栏的小窗口.此窗口必须接收键盘输入.我不挑剔这是以Entry小部件的形式还是只是绑定到KeyPress.overrideredirect(True)通常是标题栏被禁用的方式.不幸的是,(除了在Windows中),这似乎阻止了许多事件被接收.我写了这段代码来说明问题:

#!/usr/bin/env python
from __future__ import print_function
import Tkinter

class AppWindow(Tkinter.Tk):
    def __init__(self, *args, **kwargs):
        Tkinter.Tk.__init__(self, *args, **kwargs)
        self.overrideredirect(True)
        self.geometry("400x25+100+300")

        titleBar = Tkinter.Frame(self)
        titleBar.pack(expand = 1, fill = Tkinter.BOTH)

        closeButton = Tkinter.Label(titleBar, text = "x")
        closeButton.pack(side = Tkinter.RIGHT)
        closeButton.bind("<Button-1>", lambda event: self.destroy())

        self.bind("<KeyPress>", lambda event: print("<KeyPress %s>" % event.char))
        self.bind("<Button-1>", lambda event: print("<Button-1>"))
        self.bind("<Enter>", lambda event: print("<Enter>"))
        self.bind("<Leave>", lambda event: print("<Leave>"))
        self.bind("<FocusIn>", lambda event: print("<FocusIn>"))
        self.bind("<FocusOut>", lambda event: print("<FocusOut>"))

if __name__ == "__main__":
    app = AppWindow()
    app.mainloop() …
Run Code Online (Sandbox Code Playgroud)

python linux tk-toolkit tkinter tcl

13
推荐指数
1
解决办法
1099
查看次数

使用Tkinter和Python在Mac OS X中进行惯性滚动

我正在开发一个使用Tkinter作为Window管理器的Python 3.3项目.我为画布设置了鼠标滚轮事件.滚动工作在Windows 7,8和Ubuntu中,但在Mac OS X Mountain Lion中使用Magic Mouse滚动时,程序会在Tk主循环中出现以下错误:

File "/Users/xxxx/Documents/Repositories/tycoon/agentsim.py", line 291, in start
    self._root.mainloop()
  File "/Library/Frameworks/Python.framework/Versions/3.3/lib/python3.3/tkinter/__init__.py", line 1038, in mainloop
self.tk.mainloop(n)
UnicodeDecodeError: 'utf-8' codec can't decode byte 0xe7 in position 0: invalid continuation byte
Run Code Online (Sandbox Code Playgroud)

我的代码是:

self._hscroll.configure( command=self._canvas.xview )
self._vscroll.configure( command=self._canvas.yview )
self._canvas.bind('<MouseWheel>', lambda event: self.rollWheel(event))
Run Code Online (Sandbox Code Playgroud)

其中hscroll和vscroll是表单中的滚动条对象.

如果我使用普通鼠标,则不会出现问题.当我尝试使用触控板滚动(惯性滚动打开)时也会发生这种情况

我是否必须更新Tk才能使此功能正常工作,或者它是否只是一般性地破坏了?

python tk-toolkit tkinter

12
推荐指数
2
解决办法
2705
查看次数

tkinter启用/禁用菜单

我需要一些帮助.我希望用户登录...一旦登录,将只启用与他允许访问的模块对应的菜单.所以,我需要在开始时禁用所有菜单(文件和帮助除外)..我需要在登录后启用相应的菜单...

登录代码还没写.我只想看看怎么做...我的代码如下:

import Tkinter as tk

class gv:
    w = 800
    h = 500
    title = 'gsm ...'
    MDLS =   [['File','Settings','_s','Quit'],
            ['main menu','mm1','mm2'],
            ['second menu','sm1','sm2','sm3'],
            ['Help','About']]

class GammaSoft(tk.Frame):
    def __init__(self, master):
        tk.Frame.__init__(self, master, width=gv.w, height=gv.h)
        self.master.title(gv.title)
        self.master.resizable(0,0)
        self.pack_propagate(0)
        self.pack()

        menu_bar = tk.Menu()
        self.nMenu = []
        mc = 0
        for MDL in gv.MDLS:
            self.nMenu.append(tk.Menu(menu_bar, tearoff=0))
            for itm in MDL[1:]:
                if itm == '_s':
                    self.nMenu[mc].add_separator()
                else:
                    self.nMenu[mc].add_command(label=itm, command=lambda itm=itm: self.menu_call(itm))
            menu_bar.add_cascade(label=MDL[0], menu=self.nMenu[mc])
            mc += 1
        self.master.config(menu=menu_bar)

        frame1 = tk.Frame(self)
        frame1.pack()
        lblUsername = …
Run Code Online (Sandbox Code Playgroud)

python tk-toolkit tkinter

12
推荐指数
1
解决办法
1万
查看次数

Tcl/Tk的例子?

Tcl/Tk是一种编写小型GUI脚本的简单方法.

任何人都可以用按钮文本小部件给出一个很好的例子.按下按钮时,应执行shell命令,并将输出传送到文本小部件.

如果您有其他有用的任务的漂亮和干净的示例,请添加它们.

scripting user-interface tk-toolkit tcl

11
推荐指数
1
解决办法
1万
查看次数

使用Tk和C.

我是一名C程序员,不想处理C++工具包,我正在尝试构建一个简单的图形卡游戏.我在Linux下编程,但我想选择Windows端口.根据我的阅读,我的选择是GTK +和Tk.

我正在学习一些GTK +教程,我可能会坚持这一点,但我不认为我给Tk一个公平的镜头.麻烦的是,我能找到的所有Tk文档都是将Tk与{Tcl,Ruby,Perl,Python}一起使用,或者将Tcl解释器嵌入到C程序中并以这种方式使用Tk.是否有一种简单的(-ish)方式使用Tk为C程序构建GUI而不必过多地忽略Tcl?

理想情况下,是否有一个教程(TkDocs Tk教程的内容),但使用类似Tk C API的东西?

c user-interface tk-toolkit

11
推荐指数
2
解决办法
1万
查看次数

使用cxfreeze时无法使用tkinter/python脚本设置值

我用Python编写了一个带有tkinter GUI前端的程序.从脚本运行时没有问题.

我使用cx_freeze将它打包到exe文件中,并从那里运行它适用于大多数程序.但是,它有一个问题:当尝试为其中一个函数中的StringVar对象赋值时,会引发异常并终止程序.

当从程序中的不同点访问相同的功能时,它正常运行.知道什么可能是错的吗?

导致该问题的代码部分如下(我添加了消息框,以便我可以看到它失败的原因):

if keyDetail.get('default', False):
    try:
        self.entries[key].set(keyDetail['default'])
    except Exception as err:
        messagebox.showinfo('error', 'key: %s, default: %s, error: %s'%(key, keyDetail['default'], err))
Run Code Online (Sandbox Code Playgroud)

self.entries[key]是一个tk.StringVar.

运行此命令时,我在消息框中收到以下消息:

key: orderNo, default: Order Number, error: can't set "PY_VAR16:0"

python tk-toolkit tkinter cx-freeze

11
推荐指数
0
解决办法
677
查看次数

错误".onLoad在loadNamespace()中失败'tcltk'"

我有一个关于如何有效地将任何类型的外部包加载到R中的一般性问题.我发现许多详细说明这些信息的来源是不够的,但我将不再提及那些相应的URL.我之前已成功将外部软件包加载到R中,但是我在加载fgui软件包时遇到了困难.

在我的具体情况下,我无法将库加载fgui到R Studio中.首先,我使用以下命令直接从CRAN下载:

install.packages("fgui", lib="~/Documents/R_dir")
Run Code Online (Sandbox Code Playgroud)

这对我来说很好.我的工作目录设置为〜/ Documents/R_dir

我使用的下一个命令是:

library("fgui", lib.loc="~/Documents/R_dir")
Run Code Online (Sandbox Code Playgroud)

我得到的错误是:

Error : .onLoad failed in loadNamespace() for 'tcltk', details:
call: dyn.load(file, DLLpath = DLLpath, ...)
error: unable to load shared object '/Library/Frameworks/R.framework/Versions/3.1/Resources/library/tcltk/libs/tcltk.so':
dlopen(/Library/Frameworks/R.framework/Versions/3.1/Resources/library/tcltk/libs/tcltk.so, 10): Library not loaded: /opt/X11/lib/libX11.6.dylib
Referenced from: /Library/Frameworks/R.framework/Versions/3.1/Resources/library/tcltk/libs/tcltk.so
Reason: image not found
Error: package or namespace load failed for ‘fgui’
Run Code Online (Sandbox Code Playgroud)

我已经检查了线程" 在R中尝试加载库(ggplot2)时出错 "但它没有回答我的问题.

请帮助我提供任何建议,以使程序包fgui在R Studio中正常工作,并随时解决有效将外部程序包加载到R中的更一般问题.

tk-toolkit r cran

11
推荐指数
4
解决办法
2万
查看次数

为什么要导入*然后ttk?

我的理解是tkinter程序的标准设置就像这样开始:

from tkinter import *
from tkinter import ttk
Run Code Online (Sandbox Code Playgroud)

我知道tkinter是一个包,但如果我已经导入了所有包,我*为什么还需要导入ttk呢?如果我拿出第二行并尝试引用,为什么会出现错误ttk

tk-toolkit tkinter python-3.x

10
推荐指数
2
解决办法
9467
查看次数

带TK的图形用户界面 - 按钮位置和动作

我开始在python中使用TK为我的程序构建一个图形界面.我无法修复2个问题:(1)窗口中按钮的位置和(2)在一个功能内使用一个无线电按钮的值.

这是我目前的代码:

root = tk.Tk()
root.title("START")
root.geometry("500x200+500+200")

v = tk.IntVar()
v.set(0)  # initializing the choice

my_choise = [
("Basic",1),
("Advanced",2),
('Extreme',3)
]

def ShowChoice():
    print(v.get())

tk.Label(root, 
     text="""Choose your configuration:""",
     justify = tk.LEFT,
     padx = 20).pack()

val = 0
for val, choise in enumerate(my_choise):
    tk.Radiobutton(root,text=choise,padx = 20,variable=v,command=ShowChoice,value=val).pack(anchor=tk.W)


def star_program(value):
    os.system("ifconfig")

def open_comments_file():
    os.system("gedit /home/user/Desktop/comments.txt")

def open_links_file():
    os.system("gedit /home/user/Desktop/links.txt")

frame = tk.Frame(root)
frame.pack()

open_file_c = tk.Button(frame, 
               text="Comments",
               command=open_comments_file)

open_file_f = tk.Button(frame, 
               text="Links",
               command=open_links_file)

button = tk.Button(frame, 
               text="Start",
               command=star_program(v.get()))

button.pack(side=tk.LEFT)
open_file_f.pack(side=tk.LEFT)
open_file_c.pack(side=tk.LEFT)

slogan …
Run Code Online (Sandbox Code Playgroud)

python tk-toolkit

10
推荐指数
1
解决办法
205
查看次数