а можно ли сделать так чтобы он не каждую букву запоминал?свидетельствует, что вы слишком широко шагаете. Мелкая подсказка - QLineEdit и при других событиях (не только когда текст изменился) умеет присоединенные функции вызывать. Читайте документацию. А советовать сложно, потому что непонятно, что вы от программы хотите добиться. Дальше,
мне придется для каждого виджета lineedit создавать свою функцию или есть способ создать ее для всех виджетов lineedit?Первый вариант - создать список/массив этих виджетов, может быть, отнаследоваться от QlineEdit (надо разбираться с возможностью кастомизации диспетчеризации сигналов). Можно и ручками функции в класс добавлять на ходу... Второй вариант - использовать что-нибудь, grid-like. Ищите.
import sys
from PyQt5 import QtWidgets
from PyQt5.QtWidgets import QMainWindow, QLabel, QLineEdit
from PyQt5.QtCore import QSize
class MainWindow(QMainWindow):
def __init__(self):
QMainWindow.__init__(self)
self.setMinimumSize(QSize(320, 140))
self.setWindowTitle("PyQt Line Edit example (textfield) - pythonprogramminglanguage.com")
self.nameLabel = QLabel(self)
self.nameLabel.setText('Name:')
self.line = QLineEdit(self)
self.line.move(80, 20)
self.line.resize(200, 32)
self.nameLabel.move(20, 20)
self.line.textChanged.connect(self.change_linedit)
def change_linedit(self):
print('Your name: '+self.line.text())
if __name__ == "__main__":
app = QtWidgets.QApplication(sys.argv)
mainWin = MainWindow()
mainWin.show()
sys.exit(app.exec_())
if __name__ == "__main__":
app = QApplication([])
window = QMainWindow()
ui = Ui_MainWindow()
ui.setupUi(window)
window.show()
sys.exit(app.exec_())
что ж вы такой тупой то
import numpy as np
class A:
def __init__(self, img):
self.imgA = img
def show(self):
print('id(self.imgA) = ', id(self.imgA), 'self.imgA =', self.imgA)
class B:
def __init__(self):
self.imgB = np.array((1, 1, 1), np.uint8)
self.painter = A(self.imgB)
def get_img(self):
for i in range(10):
self.imgB = np.array((i, i+1, i+2), np.uint8)
print('id(self.imgB) = ', id(self.imgB), 'self.imgB =', self.imgB)
self.painter.show()
if __name__ == '__main__':
b = B()
b.get_img()
"C:\Program Files\Python38\python.exe" D:/Documents/PycharmProjects/tstcv/main.py
id(self.imgB) = 2253578859664 self.imgB = [0 1 2]
id(self.imgA) = 2253578837808 self.imgA = [1 1 1]
id(self.imgB) = 2253597315440 self.imgB = [1 2 3]
id(self.imgA) = 2253578837808 self.imgA = [1 1 1]
id(self.imgB) = 2253578859664 self.imgB = [2 3 4]
id(self.imgA) = 2253578837808 self.imgA = [1 1 1]
id(self.imgB) = 2253597315440 self.imgB = [3 4 5]
id(self.imgA) = 2253578837808 self.imgA = [1 1 1]
id(self.imgB) = 2253578859664 self.imgB = [4 5 6]
id(self.imgA) = 2253578837808 self.imgA = [1 1 1]
id(self.imgB) = 2253597315440 self.imgB = [5 6 7]
id(self.imgA) = 2253578837808 self.imgA = [1 1 1]
id(self.imgB) = 2253578859664 self.imgB = [6 7 8]
id(self.imgA) = 2253578837808 self.imgA = [1 1 1]
id(self.imgB) = 2253597315440 self.imgB = [7 8 9]
id(self.imgA) = 2253578837808 self.imgA = [1 1 1]
id(self.imgB) = 2253578859664 self.imgB = [ 8 9 10]
id(self.imgA) = 2253578837808 self.imgA = [1 1 1]
id(self.imgB) = 2253597315440 self.imgB = [ 9 10 11]
id(self.imgA) = 2253578837808 self.imgA = [1 1 1]
Process finished with exit code 0
Вы вопрос то читали?
Как реализовать на python передачу «указателя» изображения opencv в конструктор другого класса?
Зачем писать что попало?
Мне не нужно передавать в метод show img!!!
И зачем мне статический метод???
А вот тут можно посмотреть, как сделать так, чтобы одна функция отзывалась на события, сгенерированные разными однотипными виджетами. Смотрите на self.sender() и пример с двумя кнопками.