python - 如何在python中连接gui和主要代码
问题描述
我想制作一个可以在每个平台上运行的字典程序。我对其进行了编码,它基本上可以工作,用户在单击“Q”之前双击选择了一个单词,它给出了选定的单词定义。然后我需要一个图形用户界面。我做到了,但我无法连接它们。
dict.txt 的例子:https ://i.stack.imgur.com/Z9WMJ.png
权杖 (a.) 属于或关于权杖的;像权杖。观察 (vt) 辨别; 感知。Schade (n.) 阴影;阴影。沙 (n.) SeeShah。Schediasm (n.) 在活页纸上草草书写。
主要代码;
import pyautogui as pya
import pyperclip
import time
import keyboard
import re
import sys
liste = list()
def copy_clipboard():
time.sleep(5)
pya.hotkey('ctrl', 'c')
time.sleep(.01)
return pyperclip.paste()
def click(key, *args,**kwargs): #
oldword = pyperclip.paste()
time.sleep(.01)
pya.hotkey('ctrl','c')
newword = pyperclip.paste()
time.sleep(.01)
pyperclip.copy(oldword)
capitalizing = newword.capitalize()
delete_space = capitalizing.strip()
word = delete_space
print(word)
file = open('dict.txt', 'r')
for line in file:
if word == line.split(" ")[0]:
letters = re.sub(word, " ", line)
liste.append(letters)
print(liste)
file.close()
while True:
try:
if keyboard.on_press_key('q',click):
print('You Pressed a Key!')
sleep(.01)
break
else:
pass
except:
break
桂;
import tkinter as tk
window = tk.Tk()
window.geometry("300x400+1200+200")
window.title("dict")
#window.wm_attributes("-alpha")
button = tk.Button(text = "Yuppi")
button.pack()
sbr = tk.Scrollbar(window)
sbr.pack(side=tk.RIGHT,fill="y")
text1 = tk.Text(window)
text1.insert(tk.INSERT, liste)#letters or liste has to be here
text1.pack()
window.mainloop()
解决方案
不幸的是,将 GUI 连接到后端程序需要彻底检查后端代码。当您制作 Tkinter GUI 时,您通常会在后端使用的许多控件,例如“打印 (...)”,使用 tk.Label(window, text=...).place(x=x,y =y)。因此,您基本上必须将您的 GUI 合并到您的后端代码中。
推荐阅读
- windows - PostgreSQL 安装错误:运行安装后步骤时出现问题。安装可能无法正确完成。启动数据库服务器失败
- javascript - 在 TypeScript 中隐式扩展 JavaScript 类属性
- c - 使用 SIMD,我如何有条件地仅移动 alpha 通道值为 255 的像素?
- tableau-api - 在 Tableau Desktop 中,我需要在 2014 年找到 2013 年的不同客户,以获取全球超市示例数据表
- c - mmap 如何处理矛盾的论点?
- c++ - 如何使用 cin.fail() 在 C++ 中验证字符串?
- c# - 如何将服务依赖注入到 IHostedService(计划作业)中?
- java - 我可以在流口水规则的 LHS 中使用 Java 8 Lambda 表达式吗
- typescript - 将 Firebase 管理应用程序传递给数据访问对象
- html - 如何使用 flex 将一行与两个 div 隔开