1

さて、私は Python の Tkinter モジュールを使用しており、5 つのエントリ ボックスが必要です。それぞれが 1 つの変数に結合される変数になり、Office の自動インストーラのシリアル キーとして使用されます (他のソフトウェアの中でも、中規模のオフィス向けのインストール スクリプト用)。

内容のアイデアを提供することを除いて、どれも実際には関係ありません.

すべてのエントリ ボックスを小さなスペースに、できれば 1 列または 2 列に配置しようとしています (現在、4 列から 6 列を使用していますが、確認できます)。

これはTkinterで可能ですか?

スクリプトのこの部分のこれまでのコードは次のとおりです。

Label(app, text="Office Serial Key").grid(row=3, column=0)
entries = ["e1", "e2", "e3", "e4", "e5"]
colnum = 1
for item in entries:
    item = Entry(app, width=10)
    item.grid(row=3, column=colnum)
    colnum = colnum + 1

よりプロフェッショナルに、またはマイクロソフトのインストールのように見せたい.

4

1 に答える 1

0

思い通りのレイアウトを実現するために、多くのことができます。このようなことを達成する方法は、Label+Entryを別のに配置しFrame、それをグリッドにするときにFrame、キーワードを使用しcolumnspanて、他のウィジェットに対して「app」の幅を設定することだと思います。

( http://effbot.org/tkinterbook/grid.htm )

ここにばかげた例があります:

import Tkinter as tk

root=tk.Tk()

for i in range(7):
    tk.Label(root,text='%d'%i,width=12).grid(row=0,column=i)

myframe=tk.Frame(root)

tk.Label(myframe, text="Office Serial Key").grid(row=0, column=0)
entries = ["e1", "e2", "e3", "e4", "e5"]
for column,item in enumerate(entries,start=1):
    item = tk.Entry(myframe, width=10)
    item.grid(row=0, column=column)

myframe.grid(row=1,column=0,columnspan=3)
root.mainloop()
于 2012-06-06T12:40:36.353 に答える