14

これはばかげた質問のように思えますが、ttk ボタンの高さを手動で変更することは可能ですか?

button = tkinter.Button(frame, text='hi', width=20, height=20...)tkinter ボタンのようなものは問題なく動作します。私は ttk ボタンを使用したいと思いますが、審美的にはるかに優れているためです。

button = ttk.Button(frame, text='hi', width=20, height=20...)高さは有効なオプションではないようです。config で設定するか、変更するスタイルの要素を探してみましたが、うまくいきませんでした。

これに対する簡単な解決策はありますか?私は記録のためにPython 2.7、Windowsを使用しています。申し訳ありませんが、これは些細な質問のように思えますが、運が悪くて周りを見回しました。

4

5 に答える 5

9

ほんの一例ですが、@Bryan が言ったように、「たとえば、ボタンをフレームに詰め込むことができます」、私は次のようにしました。

import Tkinter as tk
import ttk

class MyButton(ttk.Frame):
    def __init__(self, parent, height=None, width=None, text="", command=None, style=None):
        ttk.Frame.__init__(self, parent, height=height, width=width, style="MyButton.TFrame")

        self.pack_propagate(0)
        self._btn = ttk.Button(self, text=text, command=command, style=style)
        self._btn.pack(fill=tk.BOTH, expand=1)
于 2015-08-14T11:10:33.193 に答える
7

あなたの質問に直接答えるには、いいえ、これはできません。テーマ付きボタンの要点は、均一なサイズを提供することです。

そうは言っても、既成概念にとらわれない考え方の余地は十分にあります。たとえば、ボタンをフレームにパックし、フレームでジオメトリの伝播をオフにして (その逆ではなく、フレームのサイズによってボタンのサイズが制御されます)、フレームのサイズを任意のサイズに設定できます。

または、希望する高さの透明な画像をボタンに配置してから、compoundオプションを使用してラベルを非表示の画像に重ねます。

または、パディングを使用して必要なサイズを取得するカスタム テーマを作成します。

最後に、ボタンをグリッドに配置し、すべての面に「固定」してから、その行の最小高さを設定できます。

もちろん、OSX を使用している場合、すべての賭けはオフです。実際には、ボタンを特定のサイズにしたいと考えています。

于 2012-03-29T23:04:28.387 に答える
0

わかりました、答えによると、多くのトリックがあるので、Macosで動作します

start = ttk.Button(frame_2, text = "\nStart\n", width = 30).place(x = 710, y = 600)

\nテキストの前後に行を入れると、ボタンが大きくなります。

于 2021-12-22T20:27:41.207 に答える