为什么我的标签没有更新不同功能的变量? Tkinter的

时间:2017-11-07 02:52:05

标签: python tkinter tk

我正在写一个时钟程序。我已经构建了代码,但是在创建GUI时遇到了麻烦。我有条目接受输入并将它们发送到外部函数,并具有用于计算的按钮事件处理。

运行程序,我没有更新时间的标签。我想知道它是否与我的textvariables有关。

MasterDetailPage

更新了代码。

<local:SearchPage xmlns="http://xamarin.com/schemas/2014/forms"
             xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml"
             xmlns:local="clr-namespace:YOURNAMESPACE"
             x:Class="YOURNAMESPACE.DetailPage"
             Title="Detail 1">
    <ContentPage.Content>
        <StackLayout>
            <Label Text="Welcome to Xamarin.Forms!"
                VerticalOptions="CenterAndExpand"
                HorizontalOptions="CenterAndExpand" />
        </StackLayout>
    </ContentPage.Content>
</local:SearchPage>

1 个答案:

答案 0 :(得分:0)

您的代码存在一些问题。您正在重新定义printvtimeLabel,并在while循环的每一步创建一个新的Tk()对象。更重要的是,您将printv定义为StringVar,但会立即将其重新定义为字符串。您应该在while循环的外部之后定义每个属性,然后使用set()的{​​{1}}方法。

这是Tkinter中一个非常基本的计时器。首先,您应该使用printvtime.sleep循环。 while函数已经是一个while循环,并且大多数tkinter对象都有一个mainloop方法,允许您在一个时间窗口(以毫秒为单位)后调用事件。

请注意,我创建了一个类来封装整个UI。所有变量都存储在类中,并从其方法更新。时间在脚本本身内设置(当前为1小时20分10秒),但很容易修改以接受来自命令行或UI中文本字段的args。

.after()