在Python上将数据返回到我的GUI应用程序
我再次来到这个令人敬畏的社区寻求帮助。 我发现了一些类似的问题,但并非完全如此 我用Python编写了一个程序,porpouse是一个DITATIC工具(因为商业软件非常昂贵) 我的代码已经完成了,现在我正试图把它放在一个简单的图形用户界面给我的学生。(顺便说一下,我用的是tkinter) 下面的代码是其中的一部分,我调用tk应用程序通过导入向导导入数据,它将数据存储为数据帧在Python上将数据返回到我的GUI应用程序,python,database,user-interface,tkinter,Python,Database,User Interface,Tkinter,我再次来到这个令人敬畏的社区寻求帮助。 我发现了一些类似的问题,但并非完全如此 我用Python编写了一个程序,porpouse是一个DITATIC工具(因为商业软件非常昂贵) 我的代码已经完成了,现在我正试图把它放在一个简单的图形用户界面给我的学生。(顺便说一下,我用的是tkinter) 下面的代码是其中的一部分,我调用tk应用程序通过导入向导导入数据,它将数据存储为数据帧 import tkinter as tk from tkinter import filedialog import p
import tkinter as tk
from tkinter import filedialog
import pandas as pd
import numpy as np
#import data
ascii_well=filedialog.askopenfilename()
df_test=pd.read_csv(ascii_well, sep="\s+", index_col=0, na_values=-999.25)
print(df_teste)
Out[5]:
a b c
IDX
0 2.1 2.2 30
1 2.2 2.3 150
我想在GUI中放置的是一种显示此数据帧的方法(如果更易于实现,可以改为数组)。但我不想只是向用户显示数据。我想实现的是一种方式,最终用户不仅可以看到数据,还可以更改数据帧的值
import tkinter as tk
from tkinter import filedialog
import pandas as pd
import numpy as np
#import data
ascii_well=filedialog.askopenfilename()
df_test=pd.read_csv(ascii_well, sep="\s+", index_col=0, na_values=-999.25)
print(df_teste)
Out[5]:
a b c
IDX
0 2.1 2.2 30
1 2.2 2.3 150
举个简单的例子
假设用户希望将de值2.1(列“a”,IDX=0)更改为3
我正在spyder、Python3上编写代码
谢谢,伙计们 下面是一个简单的示例,说明如何使用用户数据的
条目
小部件从tkinter GUI操作变量
这个示例非常简单,但应该提供一个很好的示例,说明如何从用户获取数据,并将其保存到变量中,然后显示该数据
您可以修改这些方法以使用您的数据库,然后从那里开始
import tkinter as tk
class tester(tk.Frame):
def __init__(self, parent, *args, **kwargs):
tk.Frame.__init__(self, parent, *args, **kwargs)
self.parent = parent
self.my_var = ""
self.ent0 = tk.Entry(self.parent)
self.ent0.pack()
self.btn1 = tk.Button(self.parent, text="Save Values", command = self.save_values)
self.btn1.pack()
self.btn2 = tk.Button(self.parent, text="Load Values", command = self.load_values)
self.btn2.pack()
def save_values(self):
print(self.ent0.get())
self.my_var = self.ent0.get()
self.ent0.delete(0, tk.END)
def load_values(self):
self.ent0.delete(0, tk.END)
self.ent0.insert(tk.END, self.my_var)
if __name__ == "__main__":
root = tk.Tk()
app = tester(root)
root.mainloop()
根据您的评论,我已在下面制作了此代码的非类版本:
import tkinter as tk
root = tk.Tk()
my_var = ""
ent0 = tk.Entry(root)
ent0.pack()
def save_values():
global my_var, ent0
my_var = ent0.get()
ent0.delete(0, tk.END)
def load_values():
global my_var, ent0
ent0.delete(0, tk.END)
ent0.insert(tk.END, my_var)
btn1 = tk.Button(root, text="Save Values", command = save_values)
btn1.pack()
btn2 = tk.Button(root, text="Load Values", command = load_values)
btn2.pack()
root.mainloop()
请查看我对一个类似问题的回答,可能是重复的,我们还需要更多的代码来测试。当前如何操作数据帧。这可以转换为一个函数,该函数使用提交给用户可以输入的条目小部件的值。在这个特定的例子中,我只使用DataFrame,因为我使用pandas将数据导入project。存储的数据有不同的子数据,但在基因上是相关的(每一列都是一个特定组的参数),我可以用每个数据的“专有名称”来调用它们。对我来说工作很容易谢谢你!我对类没有太多的经验,我不知道如何使用它,但我运行您的代码,我想我可以根据我的目标调整它。谢谢@Gabriebr我已经添加了我的示例的非类版本,所以您也可以使用它。非常感谢。最近我发布了另一个主题。如果你能查一下,我会很感激的!