def show_sheet(self, sheet_name): self.textbox.tag_configure("left", justify="left") sheet = self.workbook[sheet_name] rows = sheet.max_row # 清空文本框 self.textbox.delete(1.0, tk.END) # 添加表名并设置居中标签 self.textbox.insert(tk.END, sheet_name + ":\n", "center") # 显示工作表内容,并在相应数据后面添加下拉输入框 for row in sheet.iter_rows(values_only=True): for i, cell in enumerate(row): line = str(cell) + "\t" if i == 0: # 在第一列数据后面添加下拉输入框 combobox = tk.ttk.Combobox(self.textbox, values=["下拉选项1", "下拉选项2", "下拉选项3"]) combobox.pack(side=tk.TOP, padx=10, pady=5) self.textbox.window_create(tk.END, window=combobox) self.textbox.insert(tk.END, line, "left") self.textbox.insert(tk.END, "\n") # 设置居中标签的样式 self.textbox.tag_configure("center", justify="center", font=("Arial", 14, "bold"))修改這個函數將加的表明修改到窗口中間
时间: 2023-10-30 08:04:42 浏览: 81
VB.password.TextBox.control.programming.model.rar_VB textbox
可以将以下代码替换原来的添加表名并设置居中标签的部分:
```
# 清空文本框
self.textbox.delete(1.0, tk.END)
# 获取窗口的宽度和高度
window_width = self.winfo_width()
window_height = self.winfo_height()
# 添加表名并设置居中标签
self.textbox.insert(tk.END, sheet_name + ":\n", "center")
self.textbox.tag_configure("center", justify="center", font=("Arial", 14, "bold"))
self.textbox.tag_add("center", "1.0", "end")
# 计算表名的位置并将文本框滚动到该位置
text_width = self.textbox.bbox("center").width
text_height = self.textbox.bbox("center").height
x = (window_width - text_width) / 2
y = (window_height - text_height) / 2
self.textbox.see(tk.END)
self.textbox.yview_moveto(y / window_height)
self.textbox.xview_moveto(x / window_width)
```
这段代码会计算出表名在窗口中间的位置,然后将文本框滚动到该位置。注意要在函数的开头导入 tkinter 模块: `import tkinter as tk`。
阅读全文