Страница 1 из 2 12 ПоследняяПоследняя
Показано с 1 по 10 из 12

Тема: Как реализовать кнопку в Python для решения задачи?

  1. Как реализовать кнопку в Python для решения задачи?

    Ребята, привет! Сам только начал кодить на питоне, и вот встал вопрос, как сделать кнопку для решения задачи в несложном GUI? У меня есть простенький код для задачки по вычислению чего-то простого, но вот как прикрутить к нему кнопку, чтобы все происходило по нажатию этой самой кнопки, я вообще не знаю. Че-то типа Tkinter или еще чего-то. Подскажите, пожалуйста, с примерами кода, желательно с комментариями, чтобы я понял все шаги. Заранее спасибо!



  2. Ждём вас в нашем чате в Телеграмм ==>> @pythoneer_chat

    А ТАКЖЕ: Канал о Python, статьи и книги ==>>
    @pythoneer_ru

  3. Привет! Для решения задачи с кнопкой в Python можно использовать библиотеку Tkinter. Вот пример, как это можно сделать:
    Программный код:
    import tkinter as tk

    # Функция, которая будет выполняться по нажатию кнопки
    def calculate():
    result.set(eval(entry.get()))

    root tk.Tk()
    root.title("Простой калькулятор")

    entry tk.Entry(root)
    entry.pack()

    result tk.StringVar()
    result_label tk.Label(roottextvariable=result)
    result_label.pack()

    button tk.Button(roottext="Посчитать"command=calculate)
    button.pack()

    root.mainloop() 
    Здесь через tkinter создается простое окно с полем ввода, кнопкой и меткой для отображения результата. Функция calculate берет выражение из поля ввода и вычисляет его с помощью функции eval, а затем устанавливает результат в метке.

  4. Цитата Сообщение от Эдуард.
    Привет! Для решения задачи с кнопкой в Python можно использовать библиотеку Tkinter. Вот пример, как это можно сделать:
    Программный код:
    import tkinter as tk

    # Функция, которая будет выполняться по нажатию кнопки
    def calculate():
    result.set(eval(entry.get()))

    root tk.Tk()
    root.title("Простой калькулятор")

    entry tk.Entry(root)
    entry.pack()

    result tk.StringVar()
    result_label tk.Label(roottextvariable=result)
    result_label.pack()

    button tk.Button(roottext="Посчитать"command=calculate)
    button.pack()

    root.mainloop() 
    Здесь через tkinter создается простое окно с полем ввода, кнопкой и меткой для отображения результата. Функция calculate берет выражение из поля ввода и вычисляет его с помощью функции eval, а затем устанавливает результат в метке.
    О, точно! Tkinter для таких задач вообще топ. Я бы еще проверку ввел, чтобы не.eval-ить всякую чушь.

  5. Можно еще Kivy попробовать, если хочешь что-то покруче. У них прям много возможностей по UI. Правда, понадобится немного больше времени на изучение.

  6. Цитата Сообщение от KatyaFire
    Можно еще Kivy попробовать, если хочешь что-то покруче. У них прям много возможностей по UI. Правда, понадобится немного больше времени на изучение.
    Да, Kivy мощная, но для простых кнопок на старте Tkinter всё-таки проще.

  7. Я раньше тоже парился с этим. Tkinter вообще норм для таких задачек. Только учти, что там куча нюансов, особенно с кастомизацией, зато потом сам удивишься, насколько гибок инструмент.

  8. Цитата Сообщение от Артур
    Я раньше тоже парился с этим. Tkinter вообще норм для таких задачек. Только учти, что там куча нюансов, особенно с кастомизацией, зато потом сам удивишься, насколько гибок инструмент.
    Вот как раз эти нюансы иногда бесили, но зато учишься понимать, как оно всё работает под капотом.

  9. Хз с Tkinter, проще готовые библиотеки юзать. Поставил PyQt5 и порядок, много документации и форумов. Вот простейший пример:
    Программный код:
    from PyQt5.QtWidgets import QApplicationQWidgetQPushButtonQVBoxLayoutQLineEditQLabel

    def calculate
    ():
    try:
    result.setText(str(eval(entry.text())))
    except:
    result.setText("Ошибка")

    app QApplication([])
    window QWidget()
    layout QVBoxLayout()

    entry QLineEdit()
    layout.addWidget(entry)

    button QPushButton("Посчитать")
    button.clicked.connect(calculate)
    layout.addWidget(button)

    result QLabel()
    layout.addWidget(result)

    window.setLayout(layout)
    window.show()

    app.exec_() 
    Тоже не сложно и код довольно читаем.

  10. Цитата Сообщение от AlexSun
    Хз с Tkinter, проще готовые библиотеки юзать. Поставил PyQt5 и порядок, много документации и форумов. Вот простейший пример:
    Программный код:
    from PyQt5.QtWidgets import QApplicationQWidgetQPushButtonQVBoxLayoutQLineEditQLabel

    def calculate
    ():
    try:
    result.setText(str(eval(entry.text())))
    except:
    result.setText("Ошибка")

    app QApplication([])
    window QWidget()
    layout QVBoxLayout()

    entry QLineEdit()
    layout.addWidget(entry)

    button QPushButton("Посчитать")
    button.clicked.connect(calculate)
    layout.addWidget(button)

    result QLabel()
    layout.addWidget(result)

    window.setLayout(layout)
    window.show()

    app.exec_() 
    Тоже не сложно и код довольно читаем.
    Да, PyQt5 огонь, интерфейсы выглядят более нативно и стильно. Стоит попробовать, если хочешь что-то красивое.

Страница 1 из 2 12 ПоследняяПоследняя