python tk怎样调整一个button控件和Entry控件在界面的位置

 我来答
刺友互
高粉答主

2020-03-24 · 每个回答都超有意思的
知道答主
回答量:3979
采纳率:100%
帮助的人:63.5万
展开全部

1、新建一个Windows窗体项目,项目名为“透明控件”。

2、给窗体设置一个背景图片,可以“百度一下”选择一张图片。具体如下。

3、在窗体加载的时候显示设置背景图片:private void Form1_Load(object sender, EventArgs e) { BackgroundImage = Image.FromFile("111.jpg"); }。

4、设置button和label的透明:添加一个button和一个label控件,编译运行(不设置透明时的控件)。

5、选中button和label设置“backcolor”为“web”下的“Transparent”。

6、选中button和label设置设置“FlatStyle”属性设置为:“Flat”。

7、现在在打开程序,可以看到lable和button的背景颜色和我们窗体设置的背景颜色一样了。现在button和label的透明设置就完成了,具体效果如下。

百度网友87b2a52
推荐于2017-11-25 · 知道合伙人软件行家
百度网友87b2a52
知道合伙人软件行家
采纳数:523 获赞数:3490
毕业于南京大学,硕士学位。10年软件研发经验。现任信息系统架构师。

向TA提问 私信TA
展开全部

tk的话,建议你用grid把控件在的位置规划好,然后放到grid的cell里面,如果你想用绝对位置来定位控件,一旦界面大小变化,控件布局会很难看的。

给你个例子你就知道怎么做了。

from tkinter import *
from tkinter import ttk
def calculate(*args):
    try:
        value = float(feet.get())
        meters.set((0.3048 * value * 10000.0 + 0.5)/10000.0)
    except ValueError:
        pass
       
root = Tk()
root.title("Feet to Meters")
mainframe = ttk.Frame(root, padding="3 3 12 12")
mainframe.grid(column=0, row=0, sticky=(N, W, E, S))
mainframe.columnconfigure(0, weight=1)
mainframe.rowconfigure(0, weight=1)
feet = StringVar()
meters = StringVar()
feet_entry = ttk.Entry(mainframe, width=7, textvariable=feet)
feet_entry.grid(column=2, row=1, sticky=(W, E))
ttk.Label(mainframe, textvariable=meters).grid(column=2, row=2, sticky=(W, E))
ttk.Button(mainframe, text="Calculate", command=calculate).grid(column=3, row=3, sticky=W)
ttk.Label(mainframe, text="feet").grid(column=3, row=1, sticky=W)
ttk.Label(mainframe, text="is equivalent to").grid(column=1, row=2, sticky=E)
ttk.Label(mainframe, text="meters").grid(column=3, row=2, sticky=W)
for child in mainframe.winfo_children(): child.grid_configure(padx=5, pady=5)
feet_entry.focus()
root.bind('<Return>', calculate)
root.mainloop()
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
何如去
2019-12-06 · TA获得超过2442个赞
知道大有可为答主
回答量:6067
采纳率:100%
帮助的人:202万
展开全部
tk的话,建议你用grid把控件在的位置规划好,然后放到grid的cell里面,如果你想用绝对位置来定位控件,一旦界面大小变化,控件布局会很难看的。

给你个例子你就知道怎么做了。

12345678910111213141516171819202122232425262728from tkinter import *from tkinter import ttkdef calculate(*args): try: value = float(feet.get()) meters.set((0.3048 * value * 10000.0 + 0.5)/10000.0) except ValueError: pass root = Tk()root.title("Feet to Meters")mainframe = ttk.Frame(root, padding="3 3 12 12")mainframe.grid(column=0, row=0, sticky=(N, W, E, S))mainframe.columnconfigure(0, weight=1)mainframe.rowconfigure(0, weight=1)feet = StringVar()meters = StringVar()feet_entry = ttk.Entry(mainframe, width=7, textvariable=feet)feet_entry.grid(column=2, row=1, sticky=(W, E))ttk.Label(mainframe, textvariable=meters).grid(column=2, row=2, sticky=(W, E))ttk.Button(mainframe, text="Calculate", command=calculate).grid(column=3, row=3, sticky=W)ttk.Label(mainframe, text="feet").grid(column=3, row=1, sticky=W)ttk.Label(mainframe, text="is equivalent to").grid(column=1, row=2, sticky=E)ttk.Label(mainframe, text="meters").grid(column=3, row=2, sticky=W)for child in mainframe.winfo_children(): child.grid_configure(padx=5, pady=5)feet_entry.focus()root.bind('<Return>', calculate)root.mainloop()
00
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式