我正在从这个链接here编写一个简历解析器
我用
git clone https://github.com/John-8704/ResumeFilter.git
然后执行:
python utils/create_training_data.py
这只是打开手动注释数据所需的tinker GUI工具,但它没有滚动条
因此,我编辑了脚本,即其中的create_training_data.py
,我用下面的代码修改了resume_gui function
,以添加滚动条功能,但即使这样,滚动条也不可见。我如何才能添加滚动条到它
复制,
只需克隆repo并尝试运行python utils/create_training_data.py
def resume_gui(training_data_dir_path, index, file_path, file_content):
lines_with_dummy_labels = [[line, -1, -1] for line in file_content]
master = Tk()
master.columnconfigure(0, weight=1)
master.rowconfigure(0, weight=1)
master.geometry("{0}x{1}+0+0".format(master.winfo_screenwidth(),
master.winfo_screenheight()))
canvas = Canvas(master, width=170, height=300)
vsb = Scrollbar(master, orient="vertical", command=canvas.yview)
canvas.grid(row=0, column=0, sticky=W + E + N + S)
vsb.grid(row=0, column=1, sticky=N+S)
gui = LabelResume(master, lines_with_dummy_labels)
def callback():
master.destroy()
output_file_path = os.path.join(training_data_dir_path, str(index)+'.csv')
if os.path.exists(output_file_path):
return
data = pd.DataFrame.from_records(lines_with_dummy_labels,columns=['text',
'type','label'])
rows_to_drop = data.loc[((data['type']== -1) | (data['label'] == -1))].index
data.drop(data.index[rows_to_drop],inplace = True,axis = 0)
data.to_csv(output_file_path,index = False)
canvas.config(yscrollcommand= vsb.set, scrollregion=canvas.bbox("all"))
master.protocol("WM_DELETE_WINDOW", callback)
gui.mainloop()
如果有人能帮我,我会非常感激
为了在代码中使用滚动条,您需要在网页的主要内容周围创建一个单独的框架,因为您使用的是网格格式来布局应用程序
不能在同一帧中使用pack、grid或任何内容。
框架内的所有内容都将使用网格布局来显示,而框架本身将使用pack函数来显示滚动条
现在,不要将内容网格化为
master
,而是将其网格化为框架使用上面的代码创建一个滚动条,该滚动条将垂直穿过整个应用程序,其中
frame
是内容的包装添加以下更改后,您的代码应该有点像这样:
查看
LabelResume
源代码,它将自己添加到窗口中(参见第31行)。如果您对此进行注释,此行为将停止,然后您可以将框架添加到画布中。然后resume_gui
的代码非常相似,但我使用canvas.create_window(0, 0, anchor=N + W, window=gui)
将LabelResume
帧添加到画布,然后确保在使用gui.update()
更新画布滚动区域之前呈现它相关问题 更多 >
编程相关推荐