Форум сайта python.su
Понял, почему ругается на ‘MyWin’ object has no attribute ‘combo_3’. Вы не сделали что сказал Rodegast, в нужном месте.
combo_3 = QComboBox(self) # <—— заменить combo_3 на self.combo_3 combo_3.move(100, 90) # <—— заменить combo_3 на self.combo_3 combo_3.resize (130, 22) # <—— заменить combo_3 на self.combo_3 combo_3.activated[str].connect(self.onActivated3) # <—— заменить combo_3 на self.combo_3
Офлайн
Спасибо, Rami, но к сожалению ваши рекомендации не помогли. Сам список создается но комбобокс пустой.Будто код не реагирует на функцию:
for row in combo3list: self.combo_3.addItem(row)
Офлайн
Комбобокс пустой потому, что вы переопределяете (непонятно зачем) его в функции def combo3 — делаете из него “пустышку”. Вы наверно не обратили внимания на мой предыдущий ответ. Полный код:
import sys import sqlite3 from PyQt5.QtWidgets import * from PyQt5.QtGui import QIcon, QFont from PyQt5.QtCore import QCoreApplication class MyWin(QWidget): def __init__(self): super().__init__() self.initUI() def initUI(self): #comboBox1 self.lb8 = QLabel("ComboBox_1", self) self.lb8.move(30, 50) self.lbl = QLabel(self) self.lbl.move(250, 52) combo = QComboBox(self) combo.move(110, 50) combo.addItems(["","Raion1", "Raion2","Raion3","Raion4","Raion5"]) combo.resize (130, 22) combo.activated[str].connect(self.onActivated) combo.activated[str].connect(self.selected) combo.activated[str].connect(self.combo3) #comboBox3 self.lb10 = QLabel("ComboBox_3", self) self.lb10.move(30, 90) self.lb3 = QLabel(self) self.lb3.move(250, 90) self.combo_3 = QComboBox(self) self.combo_3.move(110, 90) self.combo_3.resize (130, 22) self.combo_3.activated[str].connect(self.onActivated3) #Close button qbtn = QPushButton('Close', self) qbtn.clicked.connect(self.close) qbtn.resize(qbtn.sizeHint()) qbtn.move(450, 450) #Basic Window self.resize(600, 520) self.center() self.setWindowTitle('Center') self.setWindowTitle('Locality') self.setWindowIcon(QIcon('port.png')) self.show() #qLabel_1 def onActivated(self, text): self.lbl.setText(text) self.lbl.adjustSize() #qLabel_3 def onActivated3(self, text): self.lb3.setText(text) self.lb3.adjustSize() #selected raion def selected(self, text): raion = text def combo3(self, text): conn = sqlite3.connect ("Locality.db") cursor = conn.cursor() cursor.execute ("""select locality from Locality where raion=?""",(text,)) result = cursor.fetchall() conn.close() #добавил закрытие self.combo_3.clear() #добавил очистку виджета combo3list = [row[0] for row in result] print('list:', combo3list) for row in combo3list: self.combo_3.addItem(row) #main window def center(self): qr = self.frameGeometry() cp = QDesktopWidget().availableGeometry().center() qr.moveCenter(cp) self.move(qr.topLeft()) def closeEvent(self, event): reply = QMessageBox.question(self, 'Message', "Are you sure to quit?", QMessageBox.Yes | QMessageBox.No, QMessageBox.No) if reply == QMessageBox.Yes: event.accept() else: event.ignore() if __name__ == '__main__': app = QApplication(sys.argv) my = MyWin() sys.exit(app.exec_())
Офлайн
Спасибо, большое.
Офлайн
Уважаемые спецы.
Прошу помощи.
———————-
Есть текстовый файл. В нём много ссылок на ютуб.
Подскажите скрипт для быстрой проверки всех ссылок на ютуб. Просто нужно в списке отметить неработающие ссылки.
Заранее спасибо.
Офлайн
Уважаемые спецы.
Прошу помощи.
———————-
Есть текстовый файл. В нём много ссылок на ютуб.
Подскажите скрипт для быстрой проверки всех ссылок на ютуб. Просто нужно в списке отметить неработающие ссылки.
Заранее спасибо.
Офлайн