标签: tk-toolkit

如何在Perl 5.004下增强Perl/TK GUI的外观?

我有一个应用程序,可以在使用Perl/TKGUI的Windows,Linux和Solaris上运行.由于条件的限制,我们只限于学习Perl/TK .而且,我们仅限于旧Perl/Tk版本5.00404.

我想在这些限制内工作,使GUI看起来尽可能美观和现代.

是否有任何网络资源具有传统知识设计方案(按钮,框架,颜色等),可以帮助我完成这项工作?


我也在寻找像我在这里找到的现代化建议:

如果您发现您的Tk应用程序在基于X的系统上看起来有点难看,请尝试在脚本顶部添加以下行:

$mw->optionAdd("*font", "-*-arial-normal-r-*-*-*-120-*-*-*-*-*-*");
$mw->optionAdd("*borderWidth", 1);
Run Code Online (Sandbox Code Playgroud)

perl user-interface tk-toolkit perltk

8
推荐指数
2
解决办法
2423
查看次数

在Windows平台上创建Tcl Starkit的步骤

我试图找出在Windows中创建Tcl starkit的基本步骤.之前我曾问过类似的问题,并购买了一本关于Tcl编程的书,访问了wiki.tcl.tk,直接通过电子邮件发送了Tcl程序员等等......总而言之,我从我的资源中得到了很好的反馈.网站; 但是,在构建批处理文件,使用命令控制台和创建目录时,我没有解释说我是一个完整的新手.

我真的需要有人基本上为我拼出一些东西,因为我似乎无法解释任何人试图告诉我的内容.我认为Visual Studio和.NET让我变得愚蠢:)

目前,我已经下载了tclkit,tclkitsh和sdx.kit,以及创建了一个简单的程序(Test_App.tcl).到目前为止,我知道我必须通过控制台(tclkitsh)运行sdx,创建一个批处理文件(sdx.bat),创建一个vfs目录,然后使用sdx wrap.我完全忘记了如何做这些简单的步骤.

这看起来似乎太多了,但如果有人能够用超级新手术语翻译,我会非常感激.我希望有类似的东西:在tclkitsh控制台中,输入以下内容......; 在tclkit.exe中,键入以下内容...; 现在你应该...... 并且.

谢谢,

DFM

tk-toolkit tcl starkit

8
推荐指数
1
解决办法
1700
查看次数

Tkinter网格几何管理器大小传播(带粘性)

我遗漏了一些关于尺寸如何在Tk中传播的东西.试试这个:

from Tkinter import *

root = Tk()

frame1 = Frame(root, border=4, relief=RIDGE)
frame1.grid(sticky=E+W)
frame2 = Frame(root, border=4, relief=RIDGE)
frame2.grid(sticky=E+W)

label1 = Label(frame1, text='short', background='white')
label1.grid(sticky=E+W)
label2 = Label(frame2, text='quite a bit longer', background='white')
label2.grid(sticky=E+W)

root.mainloop()
Run Code Online (Sandbox Code Playgroud)

label1在frame1内,label2在frame2内.label1比label2更窄,如白色背景所示.但是frame1和frame2的宽度相同,如边框所示.我认为粘性会将label1扩展为与其父级相同的宽度.

如果我将label1和label2放在同一帧中,那么label1的出现与label2一样宽:

frame1 = Frame(root, border=4, relief=RIDGE)
frame1.grid(sticky=E+W)

label1 = Label(frame1, text='short', background='white')
label1.grid(sticky=E+W)
label2 = Label(frame1, text='quite a bit longer', background='white')
label2.grid(sticky=E+W)
Run Code Online (Sandbox Code Playgroud)

我错过了什么?在现实生活中,我有一些堆叠的嵌套框架,没有像我想的那样扩展.

谢谢,丹

tk-toolkit tkinter

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

在Windows下为Tcl/Tk开发创建一个全功能的环境

我现在正在学习Tcl/Tk,但是当我运行Windows时,我想为这种语言创建一个功能齐全的(专业)开发环境,但我需要知道:

  • 我需要安装哪些工具(首先)?
  • 什么是支持Tcl/Tk开发的IDE?
  • 开发的最佳文本编辑器是什么?
  • 哪里可以找到一些图书馆(如果存在)?
  • 用它做一些Web应用程序是可能的吗?
    • 它使用CGI?

development-environment tk-toolkit tcl windows-7

8
推荐指数
1
解决办法
4988
查看次数

尝试在Windows 7上安装MinGW和Tk for Perl

所以...我一直试图让这个工作几个星期了.我可以通过.exe安装MinGW,但不管我做什么我似乎无法获得支持或ppm安装MinGW以这样的方式工作,我的编译Tk-804.029将正确使用'make'命令.

(安装Perl模块:

  1. perl MakeFile.PL - 工作正常
  2. make或dmake - 我无法让MinGW正确关联Make或DMake(在MinGW/bin目录中找不到正确的.exe ...我尝试过使用-32bit mingw32-make.exe但是带来与编译的头文件有关的错误.

)

ppm安装MinGW也行不通,似乎觉得找不到包.所以我不知所措.系统在x64设置上运行Windows 7.

perl tk-toolkit mingw perltk mingw32

8
推荐指数
1
解决办法
4011
查看次数

使用Python设置TkHtml(一个Tk小部件)

我需要一种简单的方法来呈现使用Requests(python-requests.org)检索的HTML页面.我在Windows上使用Python 3.2.

我使用的是tkinter,我发现了一个名为TkHtml的Tk小部件.它在http://tkhtml.tcl.tk/中描述,DLL可从http://www.hwaci.com/sw/tkhtml/下载.我在http://tix.sourceforge.net/Tixapps/src/Python/TkHtml.py找到了一个python包装器.

我不知道如何让TkHtml在python中运行.是否有一些处理第三方Tk小部件的标准方法?

我把tkhtml.dll放在Python32\DLLs中(不知道这是不对的)并将TkHtml.py放在Python32\Lib\site-packages中.我继续修复TkHtml.py中的导入以使用Python 3(将tkFileDialog更改为tkinter.filedialog,将Tkinter更改为tkinter).

当我做:

import TkHtml
app=TkHtml.TestApp()
Run Code Online (Sandbox Code Playgroud)

我收到错误:

...
File "C:\Program Files\Python32\lib\site-packages\TkHtml.py", line 45, in __init__
master.tk.call("package", "require", "tkhtml")
_tkinter.TclError: can't find package tkhtml
Run Code Online (Sandbox Code Playgroud)

有任何想法吗?

python tk-toolkit tkinter html-rendering

8
推荐指数
2
解决办法
5958
查看次数

Tkinter:没有标题栏但可调整大小的窗口

我所知道的是,如果我想创建一个没有标题栏的窗口,我可以写

    root = Tk()
    ........
    root.overrideredirect(1)
Run Code Online (Sandbox Code Playgroud)

但我也希望窗口可以调整大小.有什么解决方案吗?

(仅供参考:我正在使用Windows机器,虽然我不确定它是否真的很重要.如果有独立于操作系统的解决方案,它将是完美的,但如果至少有Windows的解决方案,我很高兴.)

python resize tk-toolkit tkinter titlebar

8
推荐指数
1
解决办法
7800
查看次数

是否可以只运行asyncio事件循环的一个步骤

我正在使用asyncio和tkinter开发一个简单的图形网络应用程序.我遇到了将asyncio事件循环与Tk的mainloop相结合的问题.如果可能的话,我想在没有线程的情况下这样做,因为这两个库(但特别是tkinter)都不是非常线程安全的.目前,我在asyncio协程中使用Tk.update,它只运行tk事件循环的一次迭代:

@asyncio.coroutine
def run_tk(tk, interval=0.1):
    try:
        while True:
            tk.update()
            yield from asyncio.sleep(interval)
    except TclError as e:
        if "application has been destroyed" not in e.args[0]:
            raise
Run Code Online (Sandbox Code Playgroud)

但是,为了探索所有选项,我想知道是否可以执行反向 - 如果可以在tk回调中仅调用asyncio事件循环的单次迭代.

python events tk-toolkit tkinter python-asyncio

8
推荐指数
1
解决办法
1675
查看次数

python 3.3中的BadIDChoice RENDER和X上显示的tk/tcl

我有一个相当复杂的GUI,通过tkinter在Linux 上运行的python编写,其中一个组件(具有经常更新的Text小部件)导致GUI不经常崩溃(每天一次).

guis正在通过X11和Gnome 2.28.2在Mac OSX上运行,并且具有相同的行为.我的python版本是3.3,tk/tcl版本是8.5.我得到的错误是:

X Error of failed request:  BadIDChoice (invalid resource ID chosen for this connection)
  Major opcode of failed request:  148 (RENDER)
  Minor opcode of failed request:  4 (RenderCreatePicture)
  Resource id in failed request:  0x116517f
  Serial number of failed request:  15106831
  Current serial number in output stream:  15106872
Run Code Online (Sandbox Code Playgroud)

一个strace样子:

11:03:29.632041 recvfrom(13, 0x3bae1d4, 4096, 0, 0, 0) = -1 EAGAIN (Resource temporarily unavailable)
11:03:29.632059 recvfrom(13, 0x3bae1d4, 4096, 0, 0, 0) = -1 EAGAIN (Resource …
Run Code Online (Sandbox Code Playgroud)

linux x11 tk-toolkit tkinter python-3.x

8
推荐指数
1
解决办法
353
查看次数

期望脚本+如果没有出现,如何忽略字符串

我编写以下expect脚本以自动ssh登录到远程Linux机器并运行命令"cat /etc/APP_VERSION.txt file"

有时我没有从ssh命令询问 -

    "Are you sure you want to continue connecting (yes/no)?"
Run Code Online (Sandbox Code Playgroud)

所以在这种情况下,第一个期望仍然等待字符串"(是/否)?" - :(

而不是继续第二个期望 - "密码:"?

怎么解决这个?,

我的意思是"如果您确定要继续连接(是/否)?" 是不是从ssh出现

然后我们必须转到下一个期望"密码:",但是怎么做呢?

remark1 - 如果问题"你确定要继续连接(是/否)?" ,出现然后期望脚本工作正常没有任何问题.

remark2 - 我不能使用超时正值(作为超时10)因为ssh本身有延迟

....

我的期望脚本:(这个期望是我的ksh脚本的一部分)

  .
  .
  .

  APP_MACHINE=172.12.6.190  


  set timeout -1
  spawn  ssh $APP_MACHINE  
       expect {
                "(Are you sure you want to continue connecting yes/no)?" 
                              { send "yes\r" }
              }
       expect password:        {send PASS123\r}
     expect >  {send "cat /etc/APP_VERSION.txt\r"}
   expect >    {send exit\r}
  expect eof

 .
 .
 .
Run Code Online (Sandbox Code Playgroud)

.....

我的linux机器上的ssh示例

  ssh …
Run Code Online (Sandbox Code Playgroud)

linux bash shell tk-toolkit expect

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