class MainWindow: def init(self, master): self.option_list = [] self.master = master master.title("點檢系統") # 获取屏幕的宽度和高度 screen_width = master.winfo_screenwidth() screen_height = master.winfo_screenheight() # 将窗口的大小设置为屏幕的大小 master.geometry("%dx%d" % (screen_width, screen_height)) #獲取點檢記錄明細路徑 self.minxi=r"D:\點檢系統存放資料夾\點檢明細\點檢内容明細.xlsx" # 日期标签和输入框 ri=datetime.now().strftime('%Y/%m/%d') values = [ri] self.date_label = tk.Label(master, text="點檢日期:") self.date_label.grid(row=0, column=0) self.date_entry = ttk.Combobox(master, values=values) self.date_entry.grid(row=0, column=1) self.date_entry.current(0) # 默认选中第一个选项 def read_from_excel1(self,menu,label): self.change_menu_color(menu, label) self.current_menu = "Router首件检查记录表" # 读取excel文件的代码 # 从Excel文件中读取表单并显示到窗口中的日志框中 wb = openpyxl.load_workbook(self.minxi, read_only=True) ws = wb['Router首件检查记录表']在這段代碼中如果用戶調用第二個函數時需要添加指定的標簽和文本框,該怎麽寫
时间: 2023-11-28 10:47:43 浏览: 35
你可以在代码中添加两个参数,分别是menu和label,用来指定需要改变颜色的菜单和标签。然后在函数中调用change_menu_color函数,将menu和label作为参数传递进去。具体代码如下:
```
def read_from_excel1(self, menu, label):
self.change_menu_color(menu, label)
self.current_menu = "Router首件检查记录表"
# 读取excel文件的代码
# 从Excel文件中读取表单并显示到窗口中的日志框中
wb = openpyxl.load_workbook(self.minxi, read_only=True)
ws = wb['Router首件检查记录表']
# 在这里添加指定的标签和文本框的代码
# ...
```
当用户调用read_from_excel1函数时,只需要传入需要改变颜色的菜单和标签即可。
相关问题
为每条代码添加注释:import tkinter as tk class ChildWindow: def __init__(self, master): self.master = master self.current_image = 1 self.img1 = tk.PhotoImage(file='image1.gif') self.img2 = tk.PhotoImage(file='image2.gif') self.img_label = tk.Label(master, image=self.img1) self.img_label.pack() self.button = tk.Button(master, text='Switch', command=self.switch_image) self.button.pack() def switch_image(self): if self.current_image == 1: self.img_label.config(image=self.img2) self.current_image = 2 else: self.img_label.config(image=self.img1) self.current_image = 1 class MainWindow: def __init__(self, master): self.master = master self.button = tk.Button(master, text='Open Child Window', command=self.open_child_window) self.button.pack() def open_child_window(self): top = tk.Toplevel(self.master) child = ChildWindow(top) root = tk.Tk() app = MainWindow(root) root.mainloop()
# 导入tkinter库,并将其重命名为tk
import tkinter as tk
# 定义一个ChildWindow类
class ChildWindow:
# 初始化函数,接收一个master参数
def __init__(self, master):
# 将master参数保存到self.master属性中
self.master = master
# 初始化当前显示的图片编号为1
self.current_image = 1
# 创建两个图片对象,分别对应image1.gif和image2.gif两个文件
self.img1 = tk.PhotoImage(file='image1.gif')
self.img2 = tk.PhotoImage(file='image2.gif')
# 创建一个Label组件,用于显示图片,初始显示img1
self.img_label = tk.Label(master, image=self.img1)
# 将Label组件添加到父容器中
self.img_label.pack()
# 创建一个Button组件,用于切换图片,点击时执行self.switch_image()函数
self.button = tk.Button(master, text='Switch', command=self.switch_image)
# 将Button组件添加到父容器中
self.button.pack()
# 切换图片的函数
def switch_image(self):
# 如果当前显示的是img1,则切换到img2
if self.current_image == 1:
self.img_label.config(image=self.img2)
self.current_image = 2
# 如果当前显示的是img2,则切换到img1
else:
self.img_label.config(image=self.img1)
self.current_image = 1
# 定义一个MainWindow类
class MainWindow:
# 初始化函数,接收一个master参数
def __init__(self, master):
# 将master参数保存到self.master属性中
self.master = master
# 创建一个Button组件,用于打开子窗口,点击时执行self.open_child_window()函数
self.button = tk.Button(master, text='Open Child Window', command=self.open_child_window)
# 将Button组件添加到父容器中
self.button.pack()
# 打开子窗口的函数
def open_child_window(self):
# 创建一个Toplevel组件,作为子窗口,父窗口为self.master
top = tk.Toplevel(self.master)
# 创建一个ChildWindow对象,传入子窗口作为master参数
child = ChildWindow(top)
# 创建一个Tk对象,作为程序的根窗口
root = tk.Tk()
# 创建一个MainWindow对象,传入根窗口作为master参数
app = MainWindow(root)
# 进入主事件循环
root.mainloop()
class Faceshow(QMainWindow, Ui_MainWindow): def __init__(self, parent=None): super(Faceshow, self).__init__(parent) self.setupUi(self) self.main_button.clicked.connect(start) self.main_exit.clicked.connect(self.quit) def quit(self): self.close() class RESUshow()(QWidget,Ui_Form): def __int__(self, parent=None): super(RESUshow, self).__init__(parent) self.setupUi(self) 上述代码怎么改才正确
您的代码存在两个问题:
1. 在 `Faceshow` 类中,`start` 函数没有定义,无法连接到 `main_button` 的 `clicked` 信号上。
2. 在 `RESUshow` 类中,`__int__` 函数应该是 `__init__`。
以下是修改后的代码:
```
class Faceshow(QMainWindow, Ui_MainWindow):
def __init__(self, parent=None):
super(Faceshow, self).__init__(parent)
self.setupUi(self)
self.main_button.clicked.connect(self.start) # 连接到 self.start 函数
self.main_exit.clicked.connect(self.quit)
def start(self):
# 实现按钮点击后的功能
pass
def quit(self):
self.close()
class RESUshow(QWidget, Ui_Form):
def __init__(self, parent=None):
super(RESUshow, self).__init__(parent)
self.setupUi(self)
```
注意,我在 `Faceshow` 类中添加了一个空的 `start` 函数作为示例,您需要把它替换为您实际的功能实现。
相关推荐
![none](https://img-home.csdnimg.cn/images/20210720083646.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![rar](https://img-home.csdnimg.cn/images/20210720083606.png)
![rar](https://img-home.csdnimg.cn/images/20210720083606.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)