tk.Label(window, text="查询编号为:",font=("微软雅黑 -20"),bg='pink',width=15,height=1.5).place(x=10, y=510)怎么设置标签的长和宽
时间: 2024-03-10 08:47:25 浏览: 122
你可以使用 `width` 和 `height` 属性来设置标签的宽度和高度,例如:
```python
tk.Label(window, text="查询编号为:", font=("微软雅黑", 20), bg='pink', width=15, height=2).place(x=10, y=510)
```
这将创建一个带有 15 个字符宽度和 2 行文本高度的标签,并在窗口的 (10, 510) 像素位置上放置它。注意,`font` 属性的格式应为 `"字体名称 字体大小"`,并且它应该放在逗号后面,而不是连字符。
相关问题
tk.Label(window, text="查询编号为:",font=("微软雅黑 -25"),bg='pink',width=13,height=1).place(x=10, y=510) id_input=tk.StringVar() frame_id_input=tk.Entry(window, textvariable=id_input) frame_id_input.place(x=175, y=510,height=42,width=132) select_button8= tk.Button(window,bg='pink',text='的犯罪信息',font=("微软雅黑 -20"),width=15,height=1,command=select8) select_button8.place(x=310, y=510)怎么让这三个标签文本框按钮横着紧挨着排列
要让三个控件横着挨在一起,你可以使用 `grid` 布局管理器来实现。在 `grid` 布局中,你可以使用 `row` 和 `column` 属性指定控件所在的行和列,使用 `sticky` 属性指定控件如何对齐。例如,下面的代码将三个控件放在第一行上,紧挨着排列:
```python
tk.Label(window, text="查询编号为:", font=("微软雅黑", 25), bg='pink', width=13, height=1).grid(row=0, column=0)
id_input = tk.StringVar()
frame_id_input = tk.Entry(window, textvariable=id_input, width=20, font=("微软雅黑", 20))
frame_id_input.grid(row=0, column=1)
select_button8 = tk.Button(window, bg='pink', text='的犯罪信息', font=("微软雅黑", 20), width=15, height=1, command=select8)
select_button8.grid(row=0, column=2)
```
在这个例子中,第一个标签放在第一行第一列,文本框放在第一行第二列,按钮放在第一行第三列。所有控件的高度都是默认值,由控件自身的内容决定。`frame_id_input` 的宽度设置为 20 个字符宽度,并且使用了更小的字体大小,以适应窗口的大小和布局。`sticky` 属性设置为 `W`,表示将控件左对齐。你可以根据实际需要调整控件的位置和样式。
def choose(): root=tk.Tk() root.title("数据脱敏") root.geometry("1000x750") tk.Label(root, text="请输入想要脱敏的信息:", font=("微软雅黑 -30")).place(x=10, y=15) tk.Label(root, text="手机号:",font=("微软雅黑 -20")).place(x=10, y=60) phone_input=tk.StringVar() frame_phone_input=tk.Entry(root, textvariable=phone_input) frame_phone_input.place(x=90, y=68,height=20,width=120) tk.Label(root, text="身份证号:",font=("微软雅黑 -20")).place(x=10, y=100) id_input=tk.StringVar() frame_id_input=tk.Entry(root, textvariable=id_input) frame_id_input.place(x=110, y=108,height=20,width=120) tk.Label(root, text="邮箱:",font=("微软雅黑 -20")).place(x=10, y=140) id_input=tk.StringVar() frame_youxiang_input=tk.Entry(root, textvariable=id_input) frame_youxiang_input.place(x=75, y=148,height=20,width=120) tk.Label(root, text="出生日期:",font=("微软雅黑 -20")).place(x=10, y=180) id_input=tk.StringVar() frame_date_input=tk.Entry(root, textvariable=id_input) frame_date_input.place(x=110, y=188,height=20,width=120) btn1=tk.Button(root, text="替换", font=("微软雅黑 -20"),bg='pink',command=lambda: tihuan(frame_phone_input.get(), frame_id_input.get())) btn1.place(x=600, y=60) def tihuan(phone_input, id_input): # 替换手机号和身份证号码的函数 def replace_sensitive_info(match): sensitive_info = match.group(0) if re.match(r'^1\d{10}$', sensitive_info): # 匹配手机号 return sensitive_info[0:3] + 'aaaa' + sensitive_info[7:] elif re.match(r'^\d{17}[\dXx]$', sensitive_info): # 匹配身份证号 return sensitive_info[0:8] + 'aaaaaaaa' + sensitive_info[16:] else: return sensitive_info # 数据脱敏函数 def desensitize_data(data): # 匹配手机号和身份证号码 pattern = re.compile(r'1\d{10}|\d{17}[\dXx]') # 替换所有匹配的敏感信息 desensitized_data = re.sub(pattern, replace_sensitive_info, data) return desensitized_data # 测试数据脱敏函数 data = phone_input + id_input desensitized_data = desensitize_data(data) a1=tk.Label(root,text=("脱敏后的数据",desensitized_data),font=("微软雅黑 -20")) a1.place(x=590,y=300)报错root 没有被定义怎么改
在 choose() 函数中创建的 root 对象是局部变量,只能在该函数中使用,因此在 tihuan() 函数中无法访问。要解决这个问题,可以将 root 对象作为参数传递给 tihuan() 函数。修改后的代码如下:
```
def choose():
root = tk.Tk()
root.title("数据脱敏")
root.geometry("1000x750")
tk.Label(root, text="请输入想要脱敏的信息:", font=("微软雅黑 -30")).place(x=10, y=15)
tk.Label(root, text="手机号:",font=("微软雅黑 -20")).place(x=10, y=60)
phone_input = tk.StringVar()
frame_phone_input = tk.Entry(root, textvariable=phone_input)
frame_phone_input.place(x=90, y=68,height=20,width=120)
tk.Label(root, text="身份证号:",font=("微软雅黑 -20")).place(x=10, y=100)
id_input = tk.StringVar()
frame_id_input = tk.Entry(root, textvariable=id_input)
frame_id_input.place(x=110, y=108,height=20,width=120)
tk.Label(root, text="邮箱:",font=("微软雅黑 -20")).place(x=10, y=140)
email_input = tk.StringVar()
frame_email_input = tk.Entry(root, textvariable=email_input)
frame_email_input.place(x=75, y=148,height=20,width=120)
tk.Label(root, text="出生日期:",font=("微软雅黑 -20")).place(x=10, y=180)
date_input = tk.StringVar()
frame_date_input = tk.Entry(root, textvariable=date_input)
frame_date_input.place(x=110, y=188,height=20,width=120)
btn1 = tk.Button(root, text="替换", font=("微软雅黑 -20"),bg='pink',command=lambda: tihuan(frame_phone_input.get(), frame_id_input.get(), root))
btn1.place(x=600, y=60)
def tihuan(phone_input, id_input, root):
# 替换手机号和身份证号码的函数
def replace_sensitive_info(match):
sensitive_info = match.group(0)
if re.match(r'^1\d{10}$', sensitive_info): # 匹配手机号
return sensitive_info[0:3] + 'aaaa' + sensitive_info[7:]
elif re.match(r'^\d{17}[\dXx]$', sensitive_info): # 匹配身份证号
return sensitive_info[0:8] + 'aaaaaaaa' + sensitive_info[16:]
else:
return sensitive_info
# 数据脱敏函数
def desensitize_data(data):
# 匹配手机号和身份证号码
pattern = re.compile(r'1\d{10}|\d{17}[\dXx]')
# 替换所有匹配的敏感信息
desensitized_data = re.sub(pattern, replace_sensitive_info, data)
return desensitized_data
# 测试数据脱敏函数
data = phone_input + id_input
desensitized_data = desensitize_data(data)
a1 = tk.Label(root, text=("脱敏后的数据", desensitized_data), font=("微软雅黑 -20"))
a1.place(x=590, y=300)
```
阅读全文