我写了一个模仿搜索引擎的python程序,这一段是前端输出的主要内容:
urls = []
cnt = 0
for num, docscore in sortedlist:
try:
cnt = cnt + 1
c.execute('select link from doc where id=?', (num,)) # 根据num的值在doc表中找到相对应的网址链接
url = c.fetchall()[0][0] # 得到具体链接的字符串
print('\n')
print(url, ' 排名分:', format(docscore, '.3f'), ' 序号:', cnt) # 输出网址和得分
urls.append(url)
except:
cnt = cnt - 1
continue
“输出网址和得分”那一行是最主要的输出。(同时这段代码是搜索功能相关代码usesearch中的一段)
现在的输出是这样的,输出在了textbrowser上:
可以看到链接是白色不可点击的,我textbrowser的openlinks和openexternallinks都设置为true。。。。。。
这是main函数里的点击事件:
def beclicked1(self):
self.textBrowser.clear()
kwd = self.search_input.text()
usesearch(kwd)
urlss = usesearch(kwd)
作用是点击“搜索一下”按钮时将用户输在框里的词传到搜索功能相关的代码里并启动,然后“输出网址和得分”输出到前端的webbrowser上。
在usesearch里,我新建了数组urls用来保存出现的链接,最终我return了urls,现在在main函数里我引用了usesearch并将urls赋值给了urlss,接下来我就不知道该怎么弄了。我想让链接可直接点击,同时不破坏“输出网址和得分”那样的格式,换句话说就是让它们在原本的位置上可直接点击。