【问题标题】:changing window size of Tkinter object with element.bind使用 element.bind 更改 Tkinter 对象的窗口大小
【发布时间】:2017-08-23 23:35:13
【问题描述】:

当初始化 tkinter gui 元素时,我们的 gui 被放置在具有自己的标题、图标和许多其他有趣的东西的特定窗口中。

我正在创建一些需要使用特定图形界面实现控制台功能的 gui 程序。普通程序与语音激活命令一起工作,因此当用户通过按下按钮而静音/耳聋时,将实现控制台,以便用户可以与程序进行通信。

所以控制台应该只有在用户按下键盘上的键时才可见,并且通过实现控制台窗口大小必须改变以补偿控制台空间,因为窗口是固定大小且不可调整大小的。

假设我们有一些 tkinter 对象:

from __future__ import absolute_import, division, print_function, unicode_literals,with_statement

vStr = lambda x: type(x).__name__ in 'unicode,str'

try:
    from Tkinter import Tk
except ImportError:
    from tkinter import Tk

class wind(object):

    def __init__(self):
        self._ = Tk()
        self._.title('programm')
        self._.geometry('300x400+1+1')

        self._.bind('<space>', self.change_size)
        self.change = False

    def change_size(self,event):
        #some code here

    def init(self):
        self._.mainloop()

app = wind()
app.init() 

如何在事件中更改窗口self._ 根对象的大小。

【问题讨论】:

  • 您似乎已经知道如何使用geometry 设置尺寸——您是否尝试过在change_size 中使用相同的方法?
  • 是的,我已经成功回答了:D 经过几次尝试后它工作了

标签: python user-interface tkinter window


【解决方案1】:

绑定背后的功能:

from __future__ import absolute_import, division, print_function, unicode_literals,with_statement

vStr = lambda x: type(x).__name__ in 'unicode,str'

try:
    from Tkinter import Tk
except ImportError:
    from tkinter import Tk

class wind(object):

    def __init__(self):
        self._ = Tk()
        self._.title('programm')
        self._.geometry('300x400+1+1')

        self._.bind('<space>', self.change_size)
        self.change = False

    def change_size(self,event):
        if self.change:
            self._.geometry('200x500+3+3')
        else:
            self._.geometry('300x400+1+1')

        self.change = not self.change

    def init(self):
        self._.mainloop()

app = wind()
app.init()  

在 py2.7 和 py3.5 上的 Windows 上工作

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-05-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多