Уведомления

Группа в Telegram: @pythonsu

#1 Ноя. 7, 2020 06:01:43

Mark28
Зарегистрирован: 2020-11-07
Сообщения: 3
Репутация: +  0  -
Профиль   Отправить e-mail  

создание GUI приложения на python

Добрый день, форумчане! Извиняюсь сразу за глупый вопрос, уже 2 месяца не могу решить проблему.

На ПК стоит Windows 7, пользуюсь python 3.8 (32 bit), QT Designer 5.14.2

Хочу создать приложение, в котором при вводе страны программа выдала континент, на котором эта страна находится. Не могу понять, как привязать логику к конкретной кнопке, скриншоты прилагаю. Спасибо большое!!!!





import sys
from PyQt5 import QtWidgets
import design

class ExampleApp(QtWidgets.QMainWindow, design.Ui_MainWindow):
def __init__(self):
super().__init__()
self.setupUi(self)

country = input (“какая страна?”)
if country == “Россия” or “Украина” or “Беларусь” or “Латвия” or “Литва” or “Эстония” or “Финляндия” or “Швеция” or “Норвегия” or “Дания” or “Германия” or “Польша” or “Австрия” or “Чехия” or “Словакия”:
print (“Европа”)
elif country == “Канада” or “США” or “Мексика”:
print (“Северная Америка”)
elif country == “Чад” or “ЮАР”, “Эфиопия” or “Кения”:
print (“Африка”)
else:
print (“Введите другую страну”)

def main():
app = QtWidgets.QApplication(sys.argv)
window = ExampleApp()
window.show()
app.exec_()

if __name__ == ‘__main__’:
main()

Прикреплённый файлы:
attachment Безымянный.png (23,0 KБ)

Офлайн

#2 Ноя. 9, 2020 00:32:19

DOOMer
От: Russia.MO.Balashikha
Зарегистрирован: 2013-01-09
Сообщения: 37
Репутация: +  9  -
Профиль   Отправить e-mail  

создание GUI приложения на python

Как-то так:

 import sys
from PyQt5.QtWidgets import QApplication, QMainWindow
from test_design import Ui_MainWindow
class ExampleApp(QMainWindow):
    # списки стран по континентам (под каждый континент - отдельный список без заморочек)
    europe = ["россия", "украина", "беларусь", "нолдова", ]  # add more if need
    asia = ["япония", "китай", "корея", ]  # add more if need
    north_america = ["сша", "канада", "мексика", ]  # add more if need
    def __init__(self):
        super(ExampleApp, self).__init__()
        self.ui = Ui_MainWindow()
        self.ui.setupUi(self)
        # соединяем событие "нажатие" у кнопок с соответтсвующими слотами
        self.ui.btn_search.clicked.connect(self.search_country)
        self.ui.btn_clear.clicked.connect(self.clear_search_field)
    def search_country(self):
        """
        Функция, вызываемая по нажатию кнопки поиска
        """
        query = self.ui.edit_search.text()
        if query in self.europe:
            self.ui.label_result.setText("Европа")
        if query in self.asia:
            self.ui.label_result.setText("Азия")
        if query in self.north_america:
            self.ui.label_result.setText("Северная Америка")
        else:
            self.ui.label_result.setText("Ничего не найдено")
    def clear_search_field(self):
        """
        Функция очистки поля ввода и лабела результата
        """
        self.ui.edit_search.setText("")
        self.ui.label_result.setText("")
if __name__ == '__main__':
    app = QApplication(sys.argv)
    w = ExampleApp()
    w.show()
    sys.exit(app.exec_())

Отредактировано DOOMer (Ноя. 9, 2020 00:33:14)

Офлайн

#3 Ноя. 9, 2020 09:01:11

Mark28
Зарегистрирован: 2020-11-07
Сообщения: 3
Репутация: +  0  -
Профиль   Отправить e-mail  

создание GUI приложения на python

DOOMer
Как-то так:
спасибо большое!!! какая-то ошибка выходит, буду разбираться, буду очень благодарен, если подскажите!

Прикреплённый файлы:
attachment фото.png (30,1 KБ)

Офлайн

#4 Ноя. 9, 2020 10:45:47

DOOMer
От: Russia.MO.Balashikha
Зарегистрирован: 2013-01-09
Сообщения: 37
Репутация: +  9  -
Профиль   Отправить e-mail  

создание GUI приложения на python

Ошибка “AttrubuteError: ‘UI_MainWindow’ object has no attribute ‘btn_search’” - имена объекто пользовательского интерфеса (кнопки, поля ввода, etc) в вашем .ui файле не совпадают, с теми, которые в моём коде-примере.

Открывайте ваш .ui файл в QtDesigner-е, и смотрите какие значения у свойства “objectName” у ваших кнопок и других UI-элементов (в моём коде две QPushButton, QLable, QLineEdit - все что в self.ui.*).

p.s. Трейсбэки ошибок лучше всё-таки выкладывать в виде текста, а не скриншота (на будущее).

Офлайн

#5 Ноя. 9, 2020 12:08:53

Mark28
Зарегистрирован: 2020-11-07
Сообщения: 3
Репутация: +  0  -
Профиль   Отправить e-mail  

создание GUI приложения на python

DOOMer
Ошибка “AttrubuteError: ‘UI_MainWindow’ object has no attribute ‘btn_search’” - имена объекто пользовательского интерфеса (кнопки, поля ввода, etc) в вашем .ui файле не совпадают, с теми, которые в моём коде-примере.Открывайте ваш .ui файл в QtDesigner-е, и смотрите какие значения у свойства “objectName” у ваших кнопок и других UI-элементов (в моём коде две QPushButton, QLable, QLineEdit - все что в self.ui.*).p.s. Трейсбэки ошибок лучше всё-таки выкладывать в виде текста, а не скриншота (на будущее).


Спасибо большое !!!

Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version