gpt4 book ai didi

Perl Tkx, "button"和 "ttk__button"之间有什么区别?

转载 作者:行者123 更新时间:2023-12-02 07:53:55 25 4
gpt4 key购买 nike

我一直在使用 Perl Tkx 开发 GUI,并发现有两个独立的函数可以用来创建按钮。 (buttonttk__button)。

到目前为止,我发现的唯一区别是 button 函数似乎使文本居中对齐,而 ttk__button 函数似乎使文本左对齐。

<小时/>

使用按钮的示例:

#!/usr/bin/perl

use strict;
use warnings;

use Tkx;

my $text = "Hello\nworld!\n\nThis is some text...";
my $mw = Tkx::widget->new(".");

my $b = $mw->new_button(
-text => $text,
-command => sub { exit; },
);
$b->g_grid;

Tkx::MainLoop()

此脚本将使文本居中:

Centered text

<小时/>

使用ttk__button的示例:

#!/usr/bin/perl

use strict;
use warnings;

use Tkx;

my $text = "Hello\nworld!\n\nThis is some text...";
my $mw = Tkx::widget->new(".");

my $b = $mw->new_ttk__button(
-text => $text,
-command => sub { exit; },
);
$b->g_grid;

Tkx::MainLoop()

此脚本将使文本左对齐:

Left justified text

<小时/>

我想知道这两个函数之间还有什么其他区别,以及是否有任何特殊原因存在两个单独的函数来创建按钮。其中一种通常比另一种更好用吗?

还有什么方法可以使用ttk__button函数使文本居中对齐吗?

编辑:

我添加了“Tcl”标签,因为 Perl Tkx 本质上是基于 Tcl 构建的。我很擅长 Perl,但对于 Tcl 来说我有点新手。

虽然乍一看可能不像,但这实际上更像是一个 Tcl 问题,而不是 Perl 问题,所以我很想听到有 Tcl 经验的人的回答。

<小时/>

注意:

要将文本在 ttk__button 中居中,请将以下行添加到您的代码中:

Tkx::ttk__style_configure('TButton', -justify => 'center');

最佳答案

Button 是“传统”小部件之一。 ttk 系列小部件更加现代,旨在关注主机操作系统的显示配置。如果您希望您的应用与用户选择的“主题”融为一体,请使用 ttk 小部件。另一方面,如果您喜欢做大量工作来适应,或者希望您的应用程序像拇指酸痛一样突出,那么请务必使用“传统”小部件。

可以通过-style选项对ttk小部件进行更精细的控制。您可能想查看教程页面@http://www.tkdocs.com/tutorial/styles.html .

就其值(value)而言,按钮并不经常包含多行文本。还有其他小部件在设计时考虑了文本布局。

编辑:

来自 tjwrona1992 的评论:Tkx::ttk__style_configure('TButton', -justify => 'center');

关于Perl Tkx, "button"和 "ttk__button"之间有什么区别?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27907864/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com