创建工具栏 toolbar = tk.Frame(master, height=0.2) # 创建样式 style = ttk.Style() style.configure('my.TButton', font=('Arial', 10)) # 设置鼠标悬停时的颜色 style.map('my.TButton', background=[('active', 'blue')]) # 添加占位的 Label tk.Label(toolbar, text="当前选中:").pack(side=tk.LEFT, padx=0.02, pady=0.02) self.selected_label = tk.Label(toolbar, text="", fg="red", font=("Arial", 12)) self.selected_label.pack(side=tk.LEFT, padx=0.02, pady=0.02) tk.Label(toolbar).pack(side=tk.LEFT, fill=tk.BOTH, expand=True) # 添加占位的 Label tk.Label(toolbar).pack(side=tk.LEFT, fill=tk.BOTH, expand=True) # 添加“查询”按钮 ttk.Button(toolbar, text="查詢", style='my.TButton', command=lambda: QueryWindow(tk.Toplevel(master))).pack(side=tk.LEFT, padx=5, pady=5, anchor=tk.CENTER) tk.Label(toolbar).pack(side=tk.LEFT, fill=tk.BOTH, expand=True) ttk.Button(toolbar, text="關閉", style='my.TButton', command=self.quit_app).pack(side=tk.LEFT, padx=5, pady=5, anchor=tk.CENTER) # 显示工具栏 toolbar.pack(side=tk.TOP, fill=tk.BOTH)將工具欄中的兩個按鈕放到工具欄的中間

时间: 2024-02-21 19:00:04 浏览: 21
可以使用占位的 Label 来实现将两个按钮放到工具栏的中间。具体地,可以在两个按钮之间分别添加一个占位的 Label,将它们的 fill 属性设置为 BOTH,expand 属性设置为 True,这样它们就会平均地填充工具栏中两个按钮之间的空隙,从而实现将两个按钮放到工具栏的中间。代码如下: ``` # 添加占位的 Label tk.Label(toolbar).pack(side=tk.LEFT, fill=tk.BOTH, expand=True) # 添加“查询”按钮 ttk.Button(toolbar, text="查詢", style='my.TButton', command=lambda: QueryWindow(tk.Toplevel(master))).pack(side=tk.LEFT, padx=5, pady=5, anchor=tk.CENTER) # 添加占位的 Label tk.Label(toolbar).pack(side=tk.LEFT, fill=tk.BOTH, expand=True) # 添加“關閉”按钮 ttk.Button(toolbar, text="關閉", style='my.TButton', command=self.quit_app).pack(side=tk.LEFT, padx=5, pady=5, anchor=tk.CENTER) # 显示工具栏 toolbar.pack(side=tk.TOP, fill=tk.BOTH) ```
相关问题

# 创建工具栏 toolbar = tk.Frame(master, height=30) # 创建样式 style = ttk.Style() style.configure('my.TButton', font=('Arial', 10)) # 设置鼠标悬停时的颜色 style.map('my.TButton', background=[('active', 'blue')]) # 添加按钮 ttk.Button(toolbar, text="查詢", style='my.TButton', command=lambda: QueryWindow(tk.Toplevel(root))).pack( side=tk.LEFT, padx=2, pady=2) ttk.Button(toolbar, text="關閉", style='my.TButton', command=self.quit_app).pack(side=tk.LEFT, padx=2, pady=2) # 显示工具栏 toolbar.pack(side=tk.TOP, fill=tk.X)將這段代碼中兩個按鈕放到中間

以下是将两个按钮放置在工具栏中间的代码: ``` # 创建工具栏 toolbar = tk.Frame(master, height=30) # 创建样式 style = ttk.Style() style.configure('my.TButton', font=('Arial', 10)) # 设置鼠标悬停时的颜色 style.map('my.TButton', background=[('active', 'blue')]) # 添加“查询”按钮 ttk.Button(toolbar, text="查詢", style='my.TButton', command=lambda: QueryWindow(tk.Toplevel(root))).pack(side=tk.LEFT, padx=2, pady=2) # 添加占位的 Label tk.Label(toolbar).pack(side=tk.LEFT, fill=tk.X, expand=True) # 添加“关闭”按钮 ttk.Button(toolbar, text="關閉", style='my.TButton', command=self.quit_app).pack(side=tk.LEFT, padx=2, pady=2) # 显示工具栏 toolbar.pack(side=tk.TOP, fill=tk.X) ``` 我们添加了一个占位的 Label,使得两个按钮被推到了工具栏的中间位置。

创建工具栏 toolbar = tk.Frame(master, height=30) tk.Button(toolbar, text="查詢", command=lambda: QueryWindow(tk.Toplevel(root))).pack(side=tk.LEFT, padx=2, pady=2) tk.Button(toolbar, text="保存", command=self.save_to_excel).pack(side=tk.LEFT, padx=2, pady=2) tk.Button(toolbar, text="關閉", command=self.quit_app).pack(side=tk.LEFT, padx=2, pady=2) toolbar.pack(side=tk.TOP, fill=tk.X)給這段代碼將這些按鈕添加視覺和顔色效果

您可以使用tkinter的style类来为这些按钮添加视觉和颜色效果。您可以按照以下步骤进行操作: 1.导入ttk模块:`from tkinter import ttk` 2.创建一个ttk主题:`style = ttk.Style()` 3.设置按钮的样式,例如:`style.configure('my.TButton', foreground='blue', background='white', font=('Arial', 10))` 4.将样式应用于按钮:`tk.Button(toolbar, text="查詢", style='my.TButton', command=lambda: QueryWindow(tk.Toplevel(root))).pack(side=tk.LEFT, padx=2, pady=2)` 5.重复步骤3和4,为其他按钮添加样式并将其应用。 这样,您就可以为这些按钮添加自定义样式了。 下面是一个完整的示例代码: ``` from tkinter import ttk # 创建工具栏 toolbar = tk.Frame(master, height=30) # 创建样式 style = ttk.Style() style.configure('my.TButton', foreground='blue', background='white', font=('Arial', 10)) # 添加按钮 tk.Button(toolbar, text="查詢", style='my.TButton', command=lambda: QueryWindow(tk.Toplevel(root))).pack(side=tk.LEFT, padx=2, pady=2) tk.Button(toolbar, text="保存", style='my.TButton', command=self.save_to_excel).pack(side=tk.LEFT, padx=2, pady=2) tk.Button(toolbar, text="關閉", style='my.TButton', command=self.quit_app).pack(side=tk.LEFT, padx=2, pady=2) # 显示工具栏 toolbar.pack(side=tk.TOP, fill=tk.X) ```

相关推荐

lass ExcelApp: def init(self, master): self.master = master master.title("Excel App") # 获取屏幕的宽度和高度 screen_width = master.winfo_screenwidth() screen_height = master.winfo_screenheight() # 将窗口的大小设置为屏幕的大小 master.geometry("%dx%d" % (screen_width, screen_height)) master.state('zoomed')#窗口最大化# 创建文件菜单及其子菜单 filemenu = tk.Menu(menubar, tearoff=0) filemenu.add_command(label="PA綫", command=lambda: self.load_excel("D:\點檢系統存放資料夾\點檢明細\點檢内容明細.xlsx", "PA綫"), compound='left', image='', foreground='black', font=('Microsoft JhengHei', 12)) filemenu.add_command(label="PB綫", command=lambda: self.load_excel("D:\點檢系統存放資料夾\點檢明細\點檢内容明細.xlsx", "PB綫"), compound='left', image='', foreground='black', font=('Microsoft JhengHei', 12)) # 创建工具栏 toolbar = tk.Frame(master, height=30) # 创建样式 style = ttk.Style() style.configure('my.TButton', font=('Arial', 10)) # 设置鼠标悬停时的颜色 style.map('my.TButton', background=[('active', 'blue')]) tk.Label(toolbar, text=).pack(side=tk.LEFT, padx=2, pady=2) # 添加占位的 Label tk.Label(toolbar).pack(side=tk.LEFT, fill=tk.X, expand=True) # 添加“查询”按钮 ttk.Button(toolbar, text="查詢", style='my.TButton', command=lambda: QueryWindow(tk.Toplevel(root))).pack( side=tk.LEFT, padx=2, pady=2) # 添加占位的 Label tk.Label(toolbar).pack(side=tk.LEFT, fill=tk.X, expand=True) # 添加“关闭”按钮 ttk.Button(toolbar, text="關閉", style='my.TButton', command=self.quit_app).pack(side=tk.LEFT, padx=2, pady=2) # 显示工具栏 toolbar.pack(side=tk.TOP, fill=tk.X) def load_excel(self, filename, menu_label): self.la = menu_label self.workbook = xl.load_workbook(filename) self.sheet_names = self.workbook.sheetnames在這段代碼中需要添加獲取當前選擇的子菜單文本標簽名稱,寫入工具欄中的文本標簽中的完整代碼

# 查询窗口 class QueryWindow: def __init__(self, master): self.master = master self.master.title("查詢窗口") self.master.state('zoomed') # 窗口最大化 # 创建一个新的样式 style = ttk.Style() style.configure("Custom.TFrame", background="lightcyan") # 创建底部的工具栏 self.bottom_frame = ttk.Frame(master, height=20, style="Custom.TFrame") self.bottom_frame.pack(side='bottom', fill='x') # 创建左侧面板 self.panel_left = tk.Frame(master, width=130, bg='lightcyan') self.panel_left.pack(side=tk.LEFT, fill=tk.Y) # 创建右侧面板 self.panel_right = tk.Frame(master, width=20, bg='lightcyan') self.panel_right.pack(side=tk.RIGHT, fill=tk.Y) # 创建工具栏 self.toolbar = tk.Frame(master,width=20, bg='white') self.toolbar.pack(side=tk.BOTTOM, fill=tk.X) # 创建 Frame 来包含标签和下拉框 input_frame = tk.Frame(self.panel_left, padx=0, pady=5) input_frame.pack(side=tk.TOP, fill=tk.X) # 创建标签和下拉框日期 ri = datetime.datetime.now().strftime('%Y/%m/%d') self.date_label = tk.Label(input_frame, text="點檢日期:") self.date_label.grid(row=0, column=0, padx=5, pady=5, sticky=tk.W) self.date_entry = tk.ttk.Combobox(input_frame, values=[ri]) self.date_entry.grid(row=0, column=1, padx=5, pady=5, sticky=tk.W) self.date_entry.current(0) # 创建标签和下拉框线别 self.line_label1 = tk.Label(input_frame, text="线别:") self.line_label1.grid(row=1, column=0, padx=5, pady=5, sticky=tk.W) self.line_entry1 = tk.ttk.Combobox(input_frame, values=["PA綫", "PB綫", "PC綫", "PD綫", "NF綫", "NE綫", "ND綫", "NC綫", "NB綫", "NA綫"]) self.line_entry1.grid(row=1, column=1, padx=5, pady=5, sticky=tk.W) self.line_entry1.current(0)ValueError: Value must be either numerical or a string containing a wildcard

class ExcelApp: def init(self, master): self.master = master master.title("Excel App") # 创建菜单栏 menubar = tk.Menu(master) master.config(menu=menubar) # 创建工具栏 toolbar = tk.Frame(master, height=30) tk.Button(toolbar, text="打开", command=self.open_file).pack(side=tk.LEFT, padx=2, pady=2) tk.Button(toolbar, text="保存", command=self.save_file).pack(side=tk.LEFT, padx=2, pady=2) toolbar.pack(side=tk.TOP, fill=tk.X) 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"))根據這段代碼,儅用戶在點擊保存時,將文本框中添加的表名寫入一個excel第一列中,在講文本框中顯示的數據内容和下拉輸入框内容分別寫入excel第二列第3列中循環寫入

class ExcelApp: def init(self, master): self.master = master master.title("Excel App") # 创建菜单栏 menubar = tk.Menu(master) master.config(menu=menubar) # 创建文件菜单及其子菜单 filemenu = tk.Menu(menubar, tearoff=0) filemenu.add_command(label="PA綫點檢表", command=lambda: self.load_excel("D:\點檢系統存放資料夾\點檢明細\點檢内容明細.xlsx")) filemenu.add_command(label="Excel 2", command=lambda: self.load_excel("excel2.xlsx")) filemenu.add_command(label="Excel 3", command=lambda: self.load_excel("excel3.xlsx")) menubar.add_cascade(label="文件", menu=filemenu) # 创建帮助菜单及其子菜单 helpmenu = tk.Menu(menubar, tearoff=0) helpmenu.add_command(label="关于", command=self.show_about) menubar.add_cascade(label="帮助", menu=helpmenu) # 创建工具栏 toolbar = tk.Frame(master, height=30) tk.Button(toolbar, text="打开", command=self.open_file).pack(side=tk.LEFT, padx=2, pady=2) tk.Button(toolbar, text="保存", command=self.save_to_excel).pack(side=tk.LEFT, padx=2, pady=2) toolbar.pack(side=tk.TOP, fill=tk.X) # 创建左侧面板 self.panel_left = tk.Frame(master, width=150, bg='lightcyan') self.panel_left.pack(side=tk.LEFT, fill=tk.Y) # 创建右侧面板 self.panel_right = tk.Frame(master) self.panel_right.pack(side=tk.LEFT, fill=tk.BOTH, expand=True) # 创建Frame来包含标签和下拉框 input_frame = tk.Frame(self.panel_right) input_frame.pack(side=tk.TOP, fill=tk.X, padx=5, pady=5) # 创建标签和下拉框 ri = datetime.datetime.now().strftime('%Y/%m/%d') ri1 = datetime.datetime.now().strftime('%H:%M:%S') self.label1 = tk.Label(input_frame, text="點檢日期") self.label1.pack(side=tk.LEFT, padx=2, pady=2) self.combobox1 = tk.ttk.Combobox(input_frame, values=[ri]) self.combobox1.pack(side=tk.LEFT, padx=2, pady=2) self.combobox1.current(0) self.label2 = tk.Label(input_frame, text="點檢時間") self.label2.pack(side=tk.LEFT, padx=2, pady=2) self.combobox2 = tk.ttk.Combobox(input_frame, values=[ri1]) self.combobox2.pack(side=tk.LEFT, padx=2, pady=2) self.combobox2.current(0)在這段代碼中需要在self.combobox2輸入實時跟新的時間

class ExcelApp: def __init__(self, master): self.master = master master.title("Excel App")# 创建工具栏 toolbar = tk.Frame(master, height=30) tk.Button(toolbar, text="打开", command=self.open_file).pack(side=tk.LEFT, padx=2, pady=2) tk.Button(toolbar, text="保存", command=self.save_file).pack(side=tk.LEFT, padx=2, pady=2) toolbar.pack(side=tk.TOP, fill=tk.X)# 创建文本框 text_frame = tk.Frame(self.panel_right) text_frame.pack(side=tk.TOP, fill=tk.BOTH, expand=True) self.textbox = tk.Text(text_frame) self.textbox.pack(side=tk.TOP, fill=tk.BOTH, expand=True)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"))根據這個函數在寫一個函數,將這個函數生成文本框中的數據内容和下拉輸入框的内容按列寫入一個excel中,在寫入前要判斷文本框中是否存在内容和下拉輸入框是否有值,如果沒有就提醒

最新推荐

recommend-type

华为OD机试D卷 - 用连续自然数之和来表达整数 - 免费看解析和代码.html

私信博主免费获取真题解析以及代码
recommend-type

Screenshot_2024-05-10-20-21-01-857_com.chaoxing.mobile.jpg

Screenshot_2024-05-10-20-21-01-857_com.chaoxing.mobile.jpg
recommend-type

数字图像处理|Matlab-频域增强实验-彩色图像的频域滤波.zip

数字图像处理|Matlab-频域增强实验-彩色图像的频域滤波.zip
recommend-type

2024-2030中国定向转向膜市场现状研究分析与发展前景预测报告.docx

2024-2030中国定向转向膜市场现状研究分析与发展前景预测报告
recommend-type

开源工时填报管理系统安装包

开源工时填报管理系统安装包
recommend-type

zigbee-cluster-library-specification

最新的zigbee-cluster-library-specification说明文档。
recommend-type

管理建模和仿真的文件

管理Boualem Benatallah引用此版本:布阿利姆·贝纳塔拉。管理建模和仿真。约瑟夫-傅立叶大学-格勒诺布尔第一大学,1996年。法语。NNT:电话:00345357HAL ID:电话:00345357https://theses.hal.science/tel-003453572008年12月9日提交HAL是一个多学科的开放存取档案馆,用于存放和传播科学研究论文,无论它们是否被公开。论文可以来自法国或国外的教学和研究机构,也可以来自公共或私人研究中心。L’archive ouverte pluridisciplinaire
recommend-type

实现实时数据湖架构:Kafka与Hive集成

![实现实时数据湖架构:Kafka与Hive集成](https://img-blog.csdnimg.cn/img_convert/10eb2e6972b3b6086286fc64c0b3ee41.jpeg) # 1. 实时数据湖架构概述** 实时数据湖是一种现代数据管理架构,它允许企业以低延迟的方式收集、存储和处理大量数据。与传统数据仓库不同,实时数据湖不依赖于预先定义的模式,而是采用灵活的架构,可以处理各种数据类型和格式。这种架构为企业提供了以下优势: - **实时洞察:**实时数据湖允许企业访问最新的数据,从而做出更明智的决策。 - **数据民主化:**实时数据湖使各种利益相关者都可
recommend-type

spring添加xml配置文件

1. 创建一个新的Spring配置文件,例如"applicationContext.xml"。 2. 在文件头部添加XML命名空间和schema定义,如下所示: ``` <beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.springframework.org/schema/beans
recommend-type

JSBSim Reference Manual

JSBSim参考手册,其中包含JSBSim简介,JSBSim配置文件xml的编写语法,编程手册以及一些应用实例等。其中有部分内容还没有写完,估计有生之年很难看到完整版了,但是内容还是很有参考价值的。