标签: tkinter

获取Tkinter窗口的每个子窗口小部件

是否有可能获得Tkinter小部件的所有孩子,然后让孩子的孩子等?

基本上我想要在整个窗口中的所有小部件.

编辑: 我找到了一个利用布莱恩线的解决方案:

def all_children (wid) :
    _list = wid.winfo_children()

    for item in _list :
        if item.winfo_children() :
            _list.extend(item.winfo_children())

    return _list
Run Code Online (Sandbox Code Playgroud)

python tkinter

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

TypeError:'builtin_function_or_method'对象不可订阅

elif( listb[0] == "-test"):
    run_all.set("testview")
    listb.pop[0]
Run Code Online (Sandbox Code Playgroud)

错误:Tkinter回调中的异常回溯(最近一次调用最后一次):文件"/tools/python/2.7.2/lib/python2.7/lib-tk/Tkinter.py",第1410行,在调用 return self.func中(*args)文件"./edit.py",第581行,填充listb.pop [0] TypeError:'builtin_function_or_method'对象不可订阅

第581行由上面代码中的最后一个pop语句表示.run_all是一个StringVar.

为什么我会收到此错误以及如何解决?

python tkinter typeerror

20
推荐指数
5
解决办法
17万
查看次数

PySide/PyQt检测用户是否试图关闭窗口

有没有办法检测用户是否试图关闭窗口?例如,在Tkinter中我们可以这样做:

def exit_dialog():
    #do stuff
    pass

root = Tk()
root.protocol("WM_DELETE_WINDOW", exit_dialog)
root.mainloop()
Run Code Online (Sandbox Code Playgroud)

谢谢.

python tkinter pyqt pyqt4 pyside

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

使用框架和网格的tkinter gui布局

我的gui布局

gui布局

看起来几乎没有像我期望的那样

我的期望

所以我假设有一些我不明白的基础知识.

我假设框架包含他们自己的"网格空间"(行,列),但我看到的行为并不能解决这个问题,而且我不知道如何让事情按照我想要的方式运行到顶部框架.我的标签应该在跨越整个框架的"框架标签"下的同一行L到R上 - 除非他们没有.我希望实际看起来更像目标jpg,我想使用网格来做到这一点.

您只需看到绿框右侧的一个输入字段即可.它为什么要去那里?

from Tkinter import *

root = Tk()
root.title('Model Definition')
root.resizable(width=FALSE, height=FALSE)
root.geometry('{}x{}'.format(460, 350))

top_frame = Frame(root, bg='cyan', width = 450, height=50, pady=3).grid(row=0, columnspan=3)
Label(top_frame, text = 'Model Dimensions').grid(row = 0, columnspan = 3)
Label(top_frame, text = 'Width:').grid(row = 1, column = 0)
Label(top_frame, text = 'Length:').grid(row = 1, column = 2)
entry_W = Entry(top_frame).grid(row = 1, column = 1)
entry_L = Entry(top_frame).grid(row = 1, column = 3)
#Label(top_frame, text = '').grid(row …
Run Code Online (Sandbox Code Playgroud)

python layout tkinter frame

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

如何设置框架的最小和最大高度或宽度?

可以通过以下方法控制Tkinter窗口的大小:

.minsize()
.maxsize()
.resizable()
Run Code Online (Sandbox Code Playgroud)

是否有相同的方法来控制Tkinter或ttk帧的大小?

@Bryan:我将你的frame1.pack代码改为:

frame1.pack(fill='both', expand=True)
frame1.bind( '<Configure>', maxsize )
Run Code Online (Sandbox Code Playgroud)

我添加了这个事件处理程序:

# attempt to prevent frame from growing past a certain size
def maxsize( event=None ):
    print frame1.winfo_width()
    if frame1.winfo_width() > 200:
        print 'frame1 wider than 200 pixels'
        frame1.pack_propagate(0)
        frame1.config( width=200 )
        return 'break'
Run Code Online (Sandbox Code Playgroud)

上面的事件处理程序检测到帧的宽度太大,但无法阻止大小的增加发生.这是Tkinter的限制还是我误解了你的解释?

python user-interface tkinter ttk

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

在Python中导入Tkinter时的ImportError

我正在尝试使用带有标准库Tkinter的Python 3.2测试GUI代码,但我无法导入库.

这是我的测试代码:

from Tkinter import *

root = Tk()
w = Label(root, text="Hello, world!")
w.pack()
root.mainloop()
Run Code Online (Sandbox Code Playgroud)

shell报告此错误:

Traceback (most recent call last):
File "<pyshell#9>", line 1, in <module>
from Tkinter import *
ImportError: No module named Tkinter
Run Code Online (Sandbox Code Playgroud)

python tkinter

19
推荐指数
3
解决办法
8万
查看次数

显示和隐藏小部件

如何在Tkinter中显示和隐藏小部件?我想要一个输入框,但不要一直显示它.有人能告诉我在tkinter中显示和隐藏条目小部件和其他小部件的功能吗?我希望能够在没有多个帧的情况下做到这一点.

python user-interface tkinter

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

在tkinter中打开多个文件名,并将文件名添加到列表中

我想要做的是使用tkinter filedialog选择多个文件,然后将这些项添加到列表中.之后,我想使用列表逐个处理每个文件.

#replace.py
import string
def main():
        #import tkFileDialog
        #import re
        #ff = tkFileDialog.askopenfilenames()
        #filez = re.findall('{(.*?)}', ff)
        import Tkinter,tkFileDialog
        root = Tkinter.Tk()
        filez = tkFileDialog.askopenfilenames(parent=root,title='Choose a file')
Run Code Online (Sandbox Code Playgroud)

现在,我可以选择多个文件,但我不知道如何将这些文件名添加到列表中.有任何想法吗?

python file tkinter

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

在Tkinter中绘制圆圈(Python)

在a上绘制圆圈tkinter Canvas通常通过该create_oval方法完成.但是,提供边界框通常是考虑绘制圆形的一种令人困惑的方式.为它提供一个快捷方式并不是特别困难,但我找不到其他人做类似的事情,所以我会发布它希望别人觉得它有用.

python geometry tkinter

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

如何将tkinter窗口设置为常量

我正在用tkinter编写一个小游戏,简单地说,我被卡住了.

我有一个类型的开始菜单,其中有两个按钮和一个标签.

如果我只是创建框架一切都很好,它的大小为500x500像素

我希望在创建按钮和labe时不改变背景,但无论我做什么,它都会调整大小.这是我的代码:

import tkinter as tk

def startgame():
    pass

mw = tk.Tk()              #Here I tried (1)
mw.title('The game')

back = tk.Frame(master=mw, width=500, height=500, bg='black')
back.pack()

go = tk.Button(master=back, text='Start Game', bg='black', fg='red',
                     command=lambda:startgame()).pack()
close = tk.Button(master=back, text='Quit', bg='black', fg='red',
                     command=lambda:quit()).pack()
info = tk.Label(master=back, text='Made by me!', bg='red',
                         fg='black').pack()

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

我在stackoverflow上搜索过,并没有得到任何有用的东西!我发现只有一个类似于我的问题,但答案没有用.我试过这个:

(1)mw.resizable(width = False,height = False)

我无法想象这是什么问题,我真的很绝望.

python tkinter python-3.x

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

标签 统计

python ×10

tkinter ×10

user-interface ×2

file ×1

frame ×1

geometry ×1

layout ×1

pyqt ×1

pyqt4 ×1

pyside ×1

python-3.x ×1

ttk ×1

typeerror ×1