def show_data(self, sheet_name): try: # 读取工作表中一行数据 df = pd.read_excel(self.file_name, sheet_name=sheet_name) row = df.iloc[0] # 在日志框中显示数据 self.log_text.delete(1.0, tk.END) for i, column_name in enumerate(df.columns): self.log_text.insert(tk.END, f"{column_name}: {row[column_name]}\n") # 根据数据内容自动添加下拉框和滑动条 for i, column_name in enumerate(df.columns): if isinstance(row[column_name], (int, float)): scale = ttk.Scale(self, from_=0, to=row[column_name], orient=tk.HORIZONTAL) scale.pack(side=tk.TOP, fill=tk.X, padx=10) elif isinstance(row[column_name], str): combobox = ttk.Combobox(self, values=["Option 1", "Option 2", "Option 3"]) combobox.pack(side=tk.TOP, fill=tk.X, padx=10) except Exception as e: self.log_text.insert(tk.END, str(e) + "\n")這段代碼爲什麽數據内容後面沒有顯示下拉輸入框,而下拉輸入框顯示到日志框外去了,怎麽將下拉輸入框顯示到日志框中
时间: 2023-11-30 20:02:16 浏览: 36
解决python pandas读取excel中多个不同sheet表格存在的问题
5星 · 资源好评率100%
根据你提供的代码,下拉框和滑动条是根据数据内容自动添加的。但是它们并没有被添加到日志框中,而是被添加到了父级容器中。要将它们添加到日志框中,你可以将它们作为日志框的子组件添加到日志框中,例如:
```
scale = ttk.Scale(self.log_text, from_=0, to=row[column_name], orient=tk.HORIZONTAL)
scale.pack(side=tk.TOP, fill=tk.X, padx=10)
```
这样就将滑动条作为日志框的子组件添加到了日志框中。同样的,你也可以将下拉框作为日志框的子组件添加到日志框中。
阅读全文