小编Bry*_*ley的帖子

如何使用 tkinter 将按钮设置为焦点?

我想打开一个窗口,并将焦点设置为第一个按钮,这样我就不必点击它。
如果小部件是一个 Entry 小部件我可以写

widget_name.focus()
Run Code Online (Sandbox Code Playgroud)

按钮小部件似乎没有等效项。

python focus tkinter button python-3.4

4
推荐指数
1
解决办法
7227
查看次数

Python:专注于ttk.Notebook标签

我还没想出如何将焦点设置在ttk.Notebook的特定选项卡上.focus_set不起作用.有可能吗?

提前致谢

python focus tkinter ttk

4
推荐指数
1
解决办法
4428
查看次数

python中的WASD输入

在python中,如何接收键盘输入。我很清楚控制台输入,input("...")但我更关心在控制台窗口未激活时接收键盘输入。例如,如果我创建了 Tkinter 屏幕的实例,我如何检查是否按下了“w”。然后,如果该语句返回 true,我可以相应地移动一个对象。

python keyboard tkinter

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

如何设置默认背景颜色 tkinter

有谁知道默认背景的颜色代码?我似乎无法在任何地方找到这个。在我的程序中,我更改了背景颜色,稍后需要将其更改回默认颜色,但我无法找到颜色代码。

任何帮助表示赞赏。谢谢。

background default tkinter colors

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

运行关键字如果不在Robot框架中?

嗨,我想运行一个关键字,如果一些布尔值为假,我这样做是为了运行一个关键字,如果布尔是真的但如果Bool是假的我如何运行关键字

Run Keyword If    ${Bool}
Run Code Online (Sandbox Code Playgroud)

robotframework

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

在TCL中,如何使变量使用另一个变量的值

我需要在另一个变量中使用变量的值.

这就是我试过的..

set cmd_ts "foo bar"
set confCmds {
    command1
    command2
    $cmd_ts
}
puts "confCmds = $confCmds"
Run Code Online (Sandbox Code Playgroud)

但不是得到

confCmds = 
    command1
    command2
    foo bar
Run Code Online (Sandbox Code Playgroud)

我正进入(状态:

confCmds =
    command1
    command2
    $cmd_ts
Run Code Online (Sandbox Code Playgroud)

PS我试过以下无济于事

  1. $ cmd_ts
  2. "$ cmd_ts"
  3. {$ cmd_ts}
  4. \ $ cmd_ts

tcl

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

从python执行scp时出错

此代码提供以下错误:

os.system("scp %s:/export/home/sample/backup.sql  %s:/home/rushi/abc.sql" % (a, b))

Permission denied (publickey,keyboard-interactive).
lost connection
Run Code Online (Sandbox Code Playgroud)

a和b是命令行参数,它接受用户名和机器名作为参数:

例如:root@10.88.77.77.

python ssh scp

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

动态更改__slots__

我正在研究一个需要__dict__通过__init__注入赋予它属性的类,如下所示:

class Torrent(Model):
    def __init__(self, d):
        super(Torrent, self).__init__('torrents')
        self.__dict__ = d
Run Code Online (Sandbox Code Playgroud)

并且需要确保不要更改对象的结构,因为实例最终会在NOSQL数据库中结束.我认为这__slots__可能会有所帮助,但我需要动态定义它.

有没有一种方法可以在没有元类的情况下实现它?

python dictionary class

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

使用 Python 在 Tkinter 中保存异常

我为使用 Tkinter 接收用户输入的其他人开发了几个 Python 程序。为了保持简单和用户友好,命令行或 python 控制台从不出现(即使用 .pyw 文件),所以我正在研究使用日志库将错误文本写入文件时发生异常。但是,我很难让它真正捕获异常。例如:

我们编写了一个会导致错误的函数:

def cause_an_error():
    a = 3/0
Run Code Online (Sandbox Code Playgroud)

现在我们尝试正常记录错误:

import logging
logging.basicConfig(filename='errors.log', level=logging.ERROR)

try:
    cause_an_error()
except:
    logging.exception('simple-exception')
Run Code Online (Sandbox Code Playgroud)

正如预期的那样,程序出错,日志记录将错误写入 errors.log。控制台中什么也没有出现。但是,当我们实现 Tkinter 接口时,会有不同的结果,如下所示:

import logging
import Tkinter
logging.basicConfig(filename='errors.log', level=logging.ERROR)

try:
    root = Tkinter.Tk()
    Tkinter.Button(root, text='Test', command=cause_an_error).pack()
    root.mainloop()
except:
    logging.exception('simple-exception')
Run Code Online (Sandbox Code Playgroud)

在这种情况下,按下 Tkinter 窗口中的按钮会导致错误。但是,这一次,没有写入文件,控制台中出现以下错误:

Exception in Tkinter callback
Traceback (most recent call last):
  File "C:\Python27\lib\lib-tk\Tkinter.py", line 1536, in __call__
    return self.func(*args)
  File "C:/Users/samk/Documents/GitHub/sandbox/sandbox2.pyw", line 8, in cause_an_error
    a = 3/0
ZeroDivisionError: integer division or modulo by zero …
Run Code Online (Sandbox Code Playgroud)

python tkinter

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

当全局变量改变它的值时如何调用函数?

change_label当全局变量a改变其值时如何调用函数?我试图change_variable模拟变量的实际变化(单击按钮时变量会发生变化)。

from tkinter import *

a = 3

class Application(Frame):

    def __init__(self, master):
        Frame.__init__(self, master)
        self.master = master
        self.button = Button(self.master, text='Change Variable', command=self.change_variable)
        self.button.grid(row=0)
        self.label = Label(self.master, text='Test')
        self.label.grid(row=1)

    def change_label(self):
        self.label.config(bg='Red', fg='Yellow')

    def change_variable(self):
        global a
        a = 1

def main():
    root = Tk()
    Application(root)
    root.mainloop()

if __name__ == '__main__':
    main()
Run Code Online (Sandbox Code Playgroud)

python tkinter

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