создание Gui приложения в QT designer на python

Mark

Новичок
Пользователь
Ноя 7, 2020
2
0
1
Добрый день, форумчане! Извиняюсь сразу за глупый вопрос, уже 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()
 

Вложения

  • Безымянный.png
    Безымянный.png
    23 КБ · Просмотры: 3

stud_55

Модератор
Команда форума
Модератор
Апр 3, 2020
1 522
672
113
Код вставляйте с помощью ... -> код -> python.
Вот пример:
Python:
from PyQt5 import Qt


class Main(Qt.QWidget):
    def __init__(self):
        super().__init__()
        self.country_name = Qt.QLabel("Введите название страны:")
        self.country = Qt.QLineEdit()
        self.button = Qt.QPushButton("Узнать континент")
        self.button.clicked.connect(self.getValue)

        self.getValueLabel = Qt.QLabel("Континент: ")

        self.Layout = Qt.QVBoxLayout()
        self.Layout.addWidget(self.country_name)
        self.Layout.addWidget(self.country)
        self.Layout.addWidget(self.getValueLabel)
        self.Layout.addWidget(self.button)
        self.setLayout(self.Layout)

    def getValue(self):
        country = self.country.text()
        continent = ''
        if country in ["Россия", "Украина", "Беларусь", "Латвия", "Литва",
                       "Эстония", "Финляндия", "Швеция", "Норвегия", "Дания",
                       "Германия", "Польша", "Австрия", "Чехия", "Словакия"]:
            continent = 'Европа'
        elif country in ["Канада", "США", "Мексика"]:
            continent = 'Северная Америка'
        elif country in ["Чад", "ЮАР", "Эфиопия", "Кения"]:
            continent = 'Африка'

        if continent:
            self.getValueLabel.setText('Континент: {0}'.format(continent))
        else:
            self.getValueLabel.setText("Введите другую страну")


if __name__ == '__main__':
    app = Qt.QApplication([])
    main = Main()
    main.show()
    app.exec_()
 

Mark

Новичок
Пользователь
Ноя 7, 2020
2
0
1
Код вставляйте с помощью ... -> код -> python.
Вот пример:
Python:
from PyQt5 import Qt


class Main(Qt.QWidget):
    def __init__(self):
        super().__init__()
        self.country_name = Qt.QLabel("Введите название страны:")
        self.country = Qt.QLineEdit()
        self.button = Qt.QPushButton("Узнать континент")
        self.button.clicked.connect(self.getValue)

        self.getValueLabel = Qt.QLabel("Континент: ")

        self.Layout = Qt.QVBoxLayout()
        self.Layout.addWidget(self.country_name)
        self.Layout.addWidget(self.country)
        self.Layout.addWidget(self.getValueLabel)
        self.Layout.addWidget(self.button)
        self.setLayout(self.Layout)

    def getValue(self):
        country = self.country.text()
        continent = ''
        if country in ["Россия", "Украина", "Беларусь", "Латвия", "Литва",
                       "Эстония", "Финляндия", "Швеция", "Норвегия", "Дания",
                       "Германия", "Польша", "Австрия", "Чехия", "Словакия"]:
            continent = 'Европа'
        elif country in ["Канада", "США", "Мексика"]:
            continent = 'Северная Америка'
        elif country in ["Чад", "ЮАР", "Эфиопия", "Кения"]:
            continent = 'Африка'

        if continent:
            self.getValueLabel.setText('Континент: {0}'.format(continent))
        else:
            self.getValueLabel.setText("Введите другую страну")


if __name__ == '__main__':
    app = Qt.QApplication([])
    main = Main()
    main.show()
    app.exec_()
Спасибо огромное за помощь!!! Очень помогли! Буду сейчас пробовать)
 

Форум IT Специалистов