в принципе я снова открываю свой вопрос несколько дней go:
где-то-я-пишу-класс-для-единственного-повышен-qwidget-from-qt -designer
Решение работает, но я сталкиваюсь с еще 2 вопросами
, если я хочу изменить текст в классе neuLabel, как мне указать класс вне основной программы? ?
Дополнительная информация для минимального необходимого примера:
У меня есть главное окно qt designer, которое называется testpromote.ui. Он содержит только одну метку. Текст «MyLabel», имя neuLabel, и оно обозначается как neulabel.
Мне нужно 2 .py файла в одном каталоге. Сначала основной testpromote.py
import sys
import os
from PyQt5 import uic
from PyQt5 import QtCore, QtWidgets, QtGui
from PyQt5.QtWidgets import *
from PyQt5.QtCore import *
from PyQt5.QtGui import * #QPainter
import neulabel
CURRENT_DIR = os.path.dirname(os.path.realpath(__file__))
uifile_1 = os.path.join(CURRENT_DIR, "testpromote.ui")
form_1, base_1 = uic.loadUiType(uifile_1)
class myApp(base_1, form_1):
def __init__(self):
super(base_1,self).__init__()
self.setupUi(self)
# ??????????????
#neuLabel.setText(neuLabel,"from main")
# ??????????????
if __name__ == '__main__':
app = QApplication(sys.argv)
ex = myApp() #Dialog()
ex.show()
sys.exit(app.exec_())
2-й файл - neulabel.py
from PyQt5.QtWidgets import *
from PyQt5 import uic
from PyQt5 import QtCore, QtWidgets, QtGui
from PyQt5.QtCore import *
from PyQt5.QtGui import * #QPainter
class neuLabel(QLabel):
def __init__(self,parent=None):
super().__init__(parent)
self.setAcceptDrops(True)
self.setText("from code")
print("the new pixmap?", self.text())
Моя цель - изменить текст метка из основной программы testpromote.py
Я не понимаю, как импортировать neulabel.py, чтобы я мог изменить текст метки. Я пробовал с помощью "neuLabel.setText (neuLabel , "из основного") ", но это не работает. Я пробовал это с другим кодом тоже, но не успешно. (Это отмечено в строках # ?????????)
Чтобы увидеть, если текст в метке изменяется, я добавил в neulabel.py значение
self. оператор setText (), но текст в окне не изменяется.
(надеюсь, теперь это стало понятнее)