小编ale*_*dro的帖子

如何在Tkinter应用程序中嵌入终端?

我想在我的主要Tkinter窗口中嵌入一个终端.我想有一个子窗口,其中一个终端(基于Bash的终端)将运行.我也希望能让我的程序与终端进行交互,至少我想阅读当前的工作目录和/或设置它.

我不知道这是不是真的不可能.我过去能用Perl/Tk做到这一点,所以也许它可以在这里复制.

我之后使用的代码类似于:

$frame3=$mw->Frame(-borderwidth=>2, -relief=>'groove', # -label=>'stuff for thought',
                             -labelBackground=>CADRAWWINCOLOR,-background=>CADRAWWINCOLOR);                 

$cv=$frame3->Canvas(-height=>$cvheight,-width=>$cvwidth,-background=>CADRAWWINCOLOR,
                             -bg => CADRAWWINCOLOR,
                             -relief => 'sunken')->pack(-expand => 1, -fill => 'both');

# this Frame is needed for including the xterm in Tk::Canvas 
my $xtermContainer = $cv->Frame(-container => 1);
my $xtid = $xtermContainer->id();
# converting the id from HEX to decimal as xterm requires a decimal Id
my ($xtId) = sprintf hex $xtid;

my $dcontitem = $cv->createWindow($xtermWidth/2,$xtermHeight/2,
                                       -window => $xtermContainer,
                                       -width => $xtermWidth,
                                       -height => $xtermHeight,
                                       -state => 'normal');

system("xterm …
Run Code Online (Sandbox Code Playgroud)

python tkinter

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

图像在PhotoImage下调整大小

我需要调整图像大小,但我想避免使用PIL,因为我无法在OS X下使其工作 - 不要问我为什么...

无论如何,因为我对gif/pgm/ppm感到满意,所以PhotoImage类对我来说还可以:

photoImg = PhotoImage(file=imgfn)
images.append(photoImg)
text.image_create(INSERT, image=photoImg)
Run Code Online (Sandbox Code Playgroud)

问题是 - 如何调整图像大小?以下只适用于PIL,即非PIL等效?

img = Image.open(imgfn)
img = img.resize((w,h), Image.ANTIALIAS)
photoImg = ImageTk.PhotoImage(img)
images.append(photoImg)
text.image_create(INSERT, image=photoImg) 
Run Code Online (Sandbox Code Playgroud)

谢谢!

python tkinter

17
推荐指数
3
解决办法
6万
查看次数

从剪贴板的linux图像

我想访问linux剪贴板中的图形,将其保存为文件.我在Python/Tkinter程序中这样做,所以我问过它(http://stackoverflow.com/questions/6817600/save-the-image-in-the-clipboatd-in-python-tkinter)但内部(在python中)没有希望.

相反,我可以接受使用外部实用程序来做到这一点 - 但我找不到一个.

您知道任何基于终端的实用程序能够获取剪贴板内容并将其另存为图像文件吗?

linux x11 graphics utilities

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

tkagg后端问题

我需要使用Tkagg backent在Tkinter程序中使用matplotlib,我收到了"ImportError:No module named backend_tkagg"错误消息.

环顾四周,我看到一个可能的解决方案,我添加安装agg-dev库,所以我做了(Fedora fc13在这里):yum install agg agg-devel ...但问题仍然存在.

我想也许我不得不重新安装matplotlib,所以我发布了一个*easy_install -m matplotlib*,但没有运气(尽管同样的错误信息似乎来自不同的文件,即/usr/lib64/python2.6/site -packages/matplotlib/backends/init .py)

有任何想法吗?

matplotlib

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

python:索引越界的数组默认值

我需要一个很好的方法来询问一个数组/矩阵值,但是为越界索引报告一个默认值(0):
如果第二个索引长度是3,b [2] [4]应该返回0,并且
b [-1] [2]
我也检查了这一点: 在Python中获取索引超出范围的默认值,但在我看来它对负索引不起作用 - 因为python总是将数组长度添加到它们(是的? )
我正沿着超载的思路__getitem__,但我只是来蟒蛇1个月前,我不那么熟练...

任何帮助赞赏!

亚历山德罗

python arrays

6
推荐指数
1
解决办法
6812
查看次数

tkinter与matplotlib

我读过可以在tkinter中嵌入一个pyplot,但是我遇到了一个问题:

我需要显示一些帧,其中在主窗口的Tkinter的框架的pyplot,并且它必须以我的按键反应.

根据http://matplotlib.org/examples/user_interfaces/embedding_in_tk.html, 这适用:

#!/usr/bin/env python
from Tkinter import *
import matplotlib
matplotlib.use('TkAgg')    
from numpy import arange, sin, pi
from matplotlib.backends.backend_tkagg import FigureCanvasTkAgg, NavigationToolbar2TkAgg
import matplotlib.backend_bases       
from matplotlib.figure import Figure    
import sys
if sys.version_info[0] < 3:
    import Tkinter as Tk
else:
    import tkinter as Tk

root = Tk.Tk()
root.wm_title("Embedding in TK")


f = Figure(figsize=(5,4), dpi=100)
a = f.add_subplot(111)
t = arange(0.0,3.0,0.01)
s = sin(2*pi*t)

a.plot(t,s)

canvas = FigureCanvasTkAgg(f, master=root)
canvas.show()
canvas.get_tk_widget().pack(side=Tk.TOP, fill=Tk.BOTH, expand=1)

canvas._tkcanvas.pack(side=Tk.TOP, fill=Tk.BOTH, expand=1)

def …
Run Code Online (Sandbox Code Playgroud)

tkinter matplotlib

6
推荐指数
1
解决办法
2568
查看次数

tkinter:检查已修改

我是一个新手python/tkinter程序员!我正在显示一个文本小部件供用户用作准系统编辑器.

是否可以检查用户是否以任何方式对其进行了修改,以便我知道是否需要保存文件步骤?

谢谢!

亚历山德罗

python tkinter

5
推荐指数
1
解决办法
1699
查看次数

tkinter python:捕获异常

开始在python中编程我觉得在家里有错误报告.现在我正在使用Tkinter进行编程,我发现经常发生我的程序中存在错误,即使它们生成异常我也没注意到:我抓住它们(有时)因为我去调试Step by步骤(我使用wingIDE)并且例如在给定的行我看到报告的异常.但是令我恼火的是程序没有停止,但即使在不在 try/error 中的块中也会发生这种情况.

如果我说的话有意义,你知道一些至少显示错误的整体方法吗?在Tkinter中,我可以创建一个错误窗口,并在发生任何异常时填充它.

python error-handling tkinter

5
推荐指数
2
解决办法
8861
查看次数

python webbrowser

我一直在使用这个模块,因为它被称为:

webbrowser.open("http link...")
Run Code Online (Sandbox Code Playgroud)

但是,现在,我想选择一个不同的浏览器,并根据文档(http://docs.python.org/library/webbrowser.html#webbrowser.get)我写了这个

controller = webbrowser.get('firefox')
controller("http link...")
Run Code Online (Sandbox Code Playgroud)

......我得到一个错误,我无法摆脱:

Exception in Tkinter callback
Traceback (most recent call last):
....
TypeError: 'Mozilla' object is not callable
Run Code Online (Sandbox Code Playgroud)

关于它的任何想法???

python python-webbrowser

5
推荐指数
1
解决办法
1671
查看次数

通过networkx制作一个可点击的图表

我试图在python中生成图形的可点击图像.我首先直接调用了graphviz,然后发现了networkx http://networkx.lanl.gov.

我希望我的程序获取有关用户单击图形的(x,y)坐标处显示哪个节点的信息.我想我可以使用打开的pyplot窗口并显示图形,使用鼠标单击时的(x,y)坐标,但我需要某种图像映射来知道哪个节点已在该坐标处可视化!

你能告诉我是否/如何做到这一点?

python imagemap networkx

5
推荐指数
1
解决办法
2369
查看次数