使用谷歌搜索结果附加一个 tkinter 文本小部件

Loewe8

早上好,现在我正在为一个小程序苦苦挣扎,它可以让您在 tkinter GUI 中搜索谷歌。按下按钮后,它应该显示该结果的所有链接(对我而言,我将其限制为 10 个)。我的程序可以工作,但它没有附加文本框,而只是显示查询的最后一个结果。我的代码的重要部分从 def clicked() 开始。

import tkinter
import PIL.Image, PIL.ImageTk
import cv2
from googlesearch import search

window = tkinter.Tk()

window.title("Google Search")
window.geometry('1000x1000')

img = "pics1/dt.jpg"
img2 = "pics2/donald.jpg"
cv_img = cv2.imread(img)
cv_img2 = cv2.imread(img2)
height, width, no_channels = cv_img.shape
height, width, no_channels = cv_img2.shape
canvas = tkinter.Canvas(window, width = 300, height = 300)
canvas.grid(row=0, column=2)
photo = PIL.ImageTk.PhotoImage(image = PIL.Image.fromarray(cv_img))
canvas.create_image(0, 0, image=photo, anchor=tkinter.NW)

######


txt = tkinter.Entry(window,width=10)
txt.grid(column=0, row=1)
lbl = tkinter.Label(window, text="Who do you want to search?")
lbl.grid(column=0, row=0)


canvas2 = tkinter.Canvas(window, width = 300, height = 300)
canvas2.grid(row=0, column=1)
photo2 = PIL.ImageTk.PhotoImage(image = PIL.Image.fromarray(cv_img2))
canvas2.create_image(0, 0, image=photo2, anchor=tkinter.NW)

query = ""

def clicked():
    res = "Thanks"
    global query
    query = txt.get()
    lbl.configure(text=res)

    for j in search(query, tld='com', lang='en', num=10, start=0, stop=10, pause=2):
        final = tkinter.Text(window, text=j)

btn = tkinter.Button(window, text="Search", command=clicked)
btn.grid(column=0, row=3)





window.mainloop()

谢谢

布莱恩奥克利

解决方案是从函数中删除文本小部件的创建,而是在脚本的主要部分创建它。然后,调用insert方法插入文本小部件。

window = tkinter.Tk()
...
text = tkinter.Text(window)
# this is just guessing where you want it; put
# it wherever you want. 
text.grid(row=2, column=0, columnspan=3)
...

def clicked():
    ...
    for j in search(query, tld='com', lang='en', num=10, start=0, stop=10, pause=2):
        text.insert("end", j)

如果结果不以换行符结尾,则需要添加一个。例如:

text.insert("end", j+"\n")

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

使用tkinter文本小部件显示结果

Tkinter:如何制作一个圆角文本小部件?

Tkinter文本小部件-在事件功能中使用单击的文本

文本小部件tkinter

Python tkinter,使两个文本小部件的滚动同步

Tkinter:如何使用缩放小部件的值来更改标签小部件的文本?

使用Tkinter在运行时写入文本小部件

使用逗号从 tkinter 文本小部件列表中插入值

验证 tkinter 文本小部件

Tkinter只读文本小部件

标记文本小部件-Tkinter

如何删除文本小部件tkinter中的最后一个字符

如何将多个按钮链接到 tkinter 中的一个文本小部件?

使用Python tkinter重新缩放窗口小部件时,如何使用窗口小部件的其余部分缩放文本?

Tkinter:使用返回小部件

如何使用feedparser在tkinter文本小部件中添加文本链接?

如何使用多个小部件的 1 个函数从 Tkinter/Python 的弹出菜单中复制文本?

如何强制Tkinter文本小部件停留在一行上

当 Tkinter 中的滚动条已满时,如何使文本小部件跳到下一行

使用 tkinter 从条目小部件打印输入到文本框

如何使用网格调整Tkinter文本输入小部件的大小?

如何使用 python tkinter 中的复选按钮在 Entry 小部件中显示或隐藏文本?

滚动条在Tkinter中使用网格布局滚动文本小部件

我使用绑定功能时的Tkinter条目/文本小部件问题

Tkinter-使用自动换行计数文本小部件中的行

使用 tkinter 文本小部件显示带有颜色和符号的语句

如何使用Tkinter突出显示文本小部件中的C ++语法

无法使用mark_set小部件函数移动文本“插入”索引(Python和Tkinter)

在可滚动窗口中使用 tkinter 制作可变宽度的文本小部件