Good evening, dear friends!

Please, help ....

There is a program that, when a button is pressed, gives a line in the QMessageBox with the name of the movie. Previously, I have not come across COMBOBOX.

Please help: ______________________________Console_______________________________

import random a = [ #Π‘ΠΎΠ΅Π²ΠΈΠΊ "Π‘Π΅Π·ΡƒΠΌΠ½Ρ‹ΠΉ Макс: Π”ΠΎΡ€ΠΎΠ³Π° ярости\n2015 Π³.\nIMDb: 8,1", "ΠœΠ°Π»Ρ‹Ρˆ Π½Π° Π΄Ρ€Π°ΠΉΠ²Π΅\n2017 Π³.\nIMDb: 7,7", "ΠœΡΡ‚ΠΈΡ‚Π΅Π»ΠΈ\n2012 Π³.\nIMDb: 8,1" ] b = [ #Π’ΠΎΠ΅Π½Π½Ρ‹ΠΉ "Атака Π½Π° ΠŸΠ΅Ρ€Π» Π₯Π°Ρ€Π±ΠΎΡ€\n2011 Π³.\nIMDb: 6.8", "Π―Ρ€ΠΎΡΡ‚ΡŒ\n2014 Π³.\nIMDb: 7.6", "Бпасти рядового Π Π°ΠΉΠ°Π½Π°\n1998 Π³.\nIMDb: 8.6" ] c = [ #Π”Π΅Ρ‚Π΅ΠΊΡ‚ΠΈΠ² "ЗСлСная миля\n1999 Π³.\nIMDb: 8.5", "Начало\n2010 Π³.\nIMDb: 8.8", "ΠŸΡ€Π΅ΡΡ‚ΠΈΠΆ\n2006 Π³.\nIMDb: 8.5" ] while True: rez = (input("Π’Π²Π΅Π΄ΠΈΡ‚Π΅ ΠΆΠ°Π½Ρ€ (a,b,c): ")) if rez == 'a': print (random.choice(a)) elif rez == 'b': print (random.choice(b)) elif rez == 'c': print (random.choice(c)) else: break print() 

__________________________Template of Main________________________________

 import sys # Π˜ΠΌΠΏΠΎΡ€Ρ‚ΠΈΡ€ΡƒΠ΅ΠΌ наш интСрфСйс ΠΈΠ· Ρ„Π°ΠΉΠ»Π° from design import * #UI file from PyQt5 import QtCore, QtGui, QtWidgets class MyWin(QtWidgets.QMainWindow): def __init__(self, parent=None): QtWidgets.QWidget.__init__(self, parent) self.ui = Ui_MainWindow() self.ui.setupUi(self) # Π—Π΄Π΅ΡΡŒ прописываСм событиС наТатия Π½Π° ΠΊΠ½ΠΎΠΏΠΊΡƒ self.ui.pushButton.clicked.connect(self.MyFunction) # Пока пустая функция которая выполняСтся ΠΏΡ€ΠΈ Π½Π°ΠΆΠ°Ρ‚ΠΈΠΈ Π½Π° ΠΊΠ½ΠΎΠΏΠΊΡƒ def MyFunction(self): pass if __name__=="__main__": app = QtWidgets.QApplication(sys.argv) myapp = MyWin() myapp.show() sys.exit(app.exec_()) 

______________________________UI________________________________

 # -*- coding: utf-8 -*- # Form implementation generated from reading ui file 'design.ui' # # Created by: PyQt5 UI code generator 5.11.3 # # WARNING! All changes made in this file will be lost! from PyQt5 import QtCore, QtGui, QtWidgets class Ui_MainWindow(object): def setupUi(self, MainWindow): MainWindow.setObjectName("MainWindow") MainWindow.resize(200, 220) MainWindow.setMinimumSize(QtCore.QSize(200, 220)) MainWindow.setMaximumSize(QtCore.QSize(200, 220)) icon = QtGui.QIcon() icon.addPixmap(QtGui.QPixmap("Icons8-Ios7-Cinema-Documentary.ico"), QtGui.QIcon.Normal, QtGui.QIcon.Off) MainWindow.setWindowIcon(icon) MainWindow.setAccessibleName("") self.centralwidget = QtWidgets.QWidget(MainWindow) self.centralwidget.setObjectName("centralwidget") self.label = QtWidgets.QLabel(self.centralwidget) self.label.setGeometry(QtCore.QRect(10, 10, 151, 21)) self.label.setObjectName("label") self.pushButton = QtWidgets.QPushButton(self.centralwidget) self.pushButton.setGeometry(QtCore.QRect(10, 140, 121, 31)) self.pushButton.setObjectName("pushButton") self.label_2 = QtWidgets.QLabel(self.centralwidget) self.label_2.setGeometry(QtCore.QRect(10, 50, 111, 21)) self.label_2.setObjectName("label_2") self.comboBox = QtWidgets.QComboBox(self.centralwidget) self.comboBox.setGeometry(QtCore.QRect(10, 80, 121, 22)) self.comboBox.setMaxVisibleItems(8) self.comboBox.setFrame(True) self.comboBox.setObjectName("comboBox") self.comboBox.addItem("") self.comboBox.addItem("") self.comboBox.addItem("") MainWindow.setCentralWidget(self.centralwidget) self.retranslateUi(MainWindow) QtCore.QMetaObject.connectSlotsByName(MainWindow) def retranslateUi(self, MainWindow): _translate = QtCore.QCoreApplication.translate MainWindow.setWindowTitle(_translate("MainWindow", "Know You Better")) self.label.setText(_translate("MainWindow", "ΠŸΠΎΠΌΠΎΡ‡ΡŒ Π’Π°ΠΌ Π²Ρ‹Π±Ρ€Π°Ρ‚ΡŒ Ρ„ΠΈΠ»ΡŒΠΌ?!")) self.pushButton.setText(_translate("MainWindow", "НаТмитС Π½Π° мСня")) self.label_2.setText(_translate("MainWindow", "Π’Ρ‹Π±Π΅Ρ€ΠΈΡ‚Π΅ ΠΆΠ°Π½Ρ€")) self.comboBox.setCurrentText(_translate("MainWindow", "Π‘ΠΎΠ΅Π²ΠΈΠΊ")) self.comboBox.setItemText(0, _translate("MainWindow", "Π‘ΠΎΠ΅Π²ΠΈΠΊ")) self.comboBox.setItemText(1, _translate("MainWindow", "Π’ΠΎΠ΅Π½Π½Ρ‹ΠΉ")) self.comboBox.setItemText(2, _translate("MainWindow", "Π”Π΅Ρ‚Π΅ΠΊΡ‚ΠΈΠ²")) 

    1 answer 1

    Try:

    main.py

     import sys # Π˜ΠΌΠΏΠΎΡ€Ρ‚ΠΈΡ€ΡƒΠ΅ΠΌ наш интСрфСйс ΠΈΠ· Ρ„Π°ΠΉΠ»Π° from designUi import * #design from PyQt5 import QtCore, QtGui, QtWidgets class MyWin(QtWidgets.QMainWindow): def __init__(self, parent=None): QtWidgets.QWidget.__init__(self, parent) self.ui = Ui_MainWindow() self.ui.setupUi(self) # Π—Π΄Π΅ΡΡŒ прописываСм событиС наТатия Π½Π° ΠΊΠ½ΠΎΠΏΠΊΡƒ self.ui.pushButton.clicked.connect(self.MyFunction) self.comboText = "Π‘ΠΎΠ΅Π²ΠΈΠΊ" self.ui.comboBox.activated[str].connect(self.onActivatedText) # Пока пустая функция которая выполняСтся ΠΏΡ€ΠΈ Π½Π°ΠΆΠ°Ρ‚ΠΈΠΈ Π½Π° ΠΊΠ½ΠΎΠΏΠΊΡƒ @QtCore.pyqtSlot(str) def onActivatedText(self, text): self.comboText = text def MyFunction(self): if self.comboText: print("Π’Ρ‹ Π²Ρ‹Π±Ρ€Π°Π»ΠΈ ΠΆΠ°Π½Ρ€: {}".format(self.comboText)) else: print("Π’Ρ‹Π±Π΅Ρ€ΠΈΡ‚Π΅ ΠΆΠ°Π½Ρ€.") if __name__=="__main__": app = QtWidgets.QApplication(sys.argv) myapp = MyWin() myapp.show() sys.exit(app.exec_()) 

    designUi.py

     from PyQt5 import QtCore, QtGui, QtWidgets class Ui_MainWindow(object): def setupUi(self, MainWindow): MainWindow.setObjectName("MainWindow") MainWindow.resize(200, 220) MainWindow.setMinimumSize(QtCore.QSize(200, 220)) MainWindow.setMaximumSize(QtCore.QSize(200, 220)) icon = QtGui.QIcon() icon.addPixmap(QtGui.QPixmap("Icons8-Ios7-Cinema-Documentary.ico"), QtGui.QIcon.Normal, QtGui.QIcon.Off) MainWindow.setWindowIcon(icon) MainWindow.setAccessibleName("") self.centralwidget = QtWidgets.QWidget(MainWindow) self.centralwidget.setObjectName("centralwidget") self.label = QtWidgets.QLabel(self.centralwidget) self.label.setGeometry(QtCore.QRect(10, 10, 151, 21)) self.label.setObjectName("label") self.pushButton = QtWidgets.QPushButton(self.centralwidget) self.pushButton.setGeometry(QtCore.QRect(10, 140, 121, 31)) self.pushButton.setObjectName("pushButton") self.label_2 = QtWidgets.QLabel(self.centralwidget) self.label_2.setGeometry(QtCore.QRect(10, 50, 111, 21)) self.label_2.setObjectName("label_2") self.comboBox = QtWidgets.QComboBox(self.centralwidget) self.comboBox.setGeometry(QtCore.QRect(10, 80, 121, 22)) self.comboBox.setMaxVisibleItems(8) self.comboBox.setFrame(True) self.comboBox.setObjectName("comboBox") self.comboBox.addItem("") self.comboBox.addItem("") self.comboBox.addItem("") MainWindow.setCentralWidget(self.centralwidget) self.retranslateUi(MainWindow) QtCore.QMetaObject.connectSlotsByName(MainWindow) def retranslateUi(self, MainWindow): _translate = QtCore.QCoreApplication.translate MainWindow.setWindowTitle(_translate("MainWindow", "Know You Better")) self.label.setText(_translate("MainWindow", "ΠŸΠΎΠΌΠΎΡ‡ΡŒ Π’Π°ΠΌ Π²Ρ‹Π±Ρ€Π°Ρ‚ΡŒ Ρ„ΠΈΠ»ΡŒΠΌ?!")) self.pushButton.setText(_translate("MainWindow", "НаТмитС Π½Π° мСня")) self.label_2.setText(_translate("MainWindow", "Π’Ρ‹Π±Π΅Ρ€ΠΈΡ‚Π΅ ΠΆΠ°Π½Ρ€")) self.comboBox.setCurrentText(_translate("MainWindow", "Π‘ΠΎΠ΅Π²ΠΈΠΊ")) self.comboBox.setItemText(0, _translate("MainWindow", "Π‘ΠΎΠ΅Π²ΠΈΠΊ")) self.comboBox.setItemText(1, _translate("MainWindow", "Π’ΠΎΠ΅Π½Π½Ρ‹ΠΉ")) self.comboBox.setItemText(2, _translate("MainWindow", "Π”Π΅Ρ‚Π΅ΠΊΡ‚ΠΈΠ²")) 

    enter image description here

    • Cool! Thank you very much!!!!!!!!!!!!!!!!!!! - Alexandr S