Рин Качи
Профи
(884)
1 неделю назад
Ответ от нейросети прости я сам не шарю но хочу помочь:
Проблема здесь в том, что вы вызываете функцию `wikisearch` в момент создания кнопки, а не при нажатии на нее. Вам нужно передавать ссылку на функцию, а не результат ее выполнения.
Исправленный код:
```python
from webbrowser import open
from tkinter import *
from tkinter import ttk
def wikisearch():
figurename = searchBox.get()
open("https//ru.wikipedia.org/wiki/"+str(figurename))
ws = Tk()
ws.title("GeomSearch")
ws.geometry('500x500')
ws['bg'] = '#f2f2f2'
searchBox = Entry(ws, width=50, justify="center")
searchBox.pack(anchor="center", pady=200)
btn = ttk.Button(text="Поиск", command=wikisearch)
btn.pack()
ws.mainloop()
```
Теперь функция `wikisearch` будет вызываться только при нажатии на кнопку "Поиск", и в нее будет передаваться значение из текстового поля.
Рин КачиПрофи (884)
1 неделю назад
только тут в open("https//ru.wikipedia.or/wiki/"+str(figurename)) между https и // поставь :
Рин КачиПрофи (884)
1 неделю назад
а вы изменили там чтото так что еще 1 ответ от нейросети:
Проблема в вашем коде заключается в том, что вы вызываете функцию `wikisearch` сразу при создании кнопки, вместо того чтобы передать ссылку на функцию.
Измените строку:
```
btn = ttk.Button(text="Поиск", command=wikisearch(searchValueGet))
```
На:
```
btn = ttk.Button(text="Поиск", command=lambda: wikisearch(searchBox.get()))
```
Это позволит вызывать функцию `wikisearch` только при нажатии кнопки, после того как пользователь введет значение в поле ввода.