Eric4 と PyQt4 を使用してアプリを作成しています。
2 つのダイアログ ボックスがあり、1 つはスレッドとして実行され、もう 1 つは標準のダイアログ ボックスで、内部にラベルがあり、これを画像に変更したいと考えています。
メイン ウィンドウ スレッドが実行されるたびに、ダイアログ ボックスに表示されている現在の画像を新しい画像に変更したいと考えています。スレッドが実行されるたびに新しい画像を含む新しいダイアログ ボックスが作成されることを除いて、すべて正常に動作します。現在開いているダイアログ ボックスの画像を変更したいのです。
内部に画像があるダイアログ ボックス:
class SubWindow(QDialog, Ui_subWindow):
def __init__(self, parent = None):
QDialog.__init__(self, parent)
self.setupUi(self)
self.show()
def main(self, img):
pic = self.imgView
pic.setPixmap(QtGui.QPixmap(os.getcwd() + img))
画像を変更するスレッド:
class MainWindow(QDialog, Ui_MainWindow, threading.Thread):
def __init__(self, parent = None):
threading.Thread.__init__(self)
QDialog.__init__(self, parent)
self.setupUi(self)
self.show()
#some code here which does some stuff then calls changeImg()
def changeImg(self):
img = SubWindow()
img.main(img)
すべてのコードを含めたわけではなく、関連するビットのみを含めました。