###前提・実現したいこと
python3.5を使っています。pyqt5で作ったウィジットの任意の位置に画像を表示したいです
###発生している問題・エラーメッセージ
画像の表示位置を指定する方法がよく分かりません。
###該当のソースコード
python3
1import sys 2from PyQt5.QtWidgets import (QWidget, QHBoxLayout, 3 QLabel, QApplication) 4from PyQt5.QtGui import QPixmap 5from PyQt5.QtWidgets import QWidget, QLabel, QApplication 6 7 8 9class Example(QWidget): 10 11 def __init__(self): 12 super().__init__() 13 14 self.initUI() 15 16 17 def initUI(self): 18 19 hbox = QHBoxLayout(self) 20 # QPixmapオブジェクト作成 21 pixmap = QPixmap("gazo.jpg") 22 23 # ラベルを作ってその中に画像を置く 24 lbl = QLabel(self) 25 lbl.move(100,100) 26 lbl.setPixmap(pixmap) 27 28 hbox.addWidget(lbl) 29 self.setLayout(hbox) 30 31 self.setGeometry(10, 10, 1000, 1000) 32 self.setWindowTitle('Absolute') 33 self.show() 34 35 36if __name__ == '__main__': 37 38 app = QApplication(sys.argv) 39 ex = Example() 40 sys.exit(app.exec_()) 41 42
###試したこと
画像を表示するコードとして、ググったら次の様なコードが出てきました。(これはウィジットのサイズを画像に合わせるコードです。)
import sys from PyQt5.QtWidgets import (QWidget, QHBoxLayout, QLabel, QApplication) from PyQt5.QtGui import QPixmap class Example(QWidget): def __init__(self): super().__init__() self.initUI() def initUI(self): hbox = QHBoxLayout(self) # QPixmapオブジェクト作成 pixmap = QPixmap("gazo.jpg") # ラベルを作ってその中に画像を置く lbl = QLabel(self) lbl.setPixmap(pixmap) hbox.addWidget(lbl) self.setLayout(hbox) self.move(300, 200) self.setWindowTitle('gazo') self.show() if __name__ == '__main__': app = QApplication(sys.argv) ex = Example() sys.exit(app.exec_())
これは正常に動きました。次に、ウィジットの絶対位置にラベルを書くコードとして、次のようなものがありました。
import sys from PyQt5.QtWidgets import QWidget, QLabel, QApplication class Example(QWidget): def __init__(self): super().__init__() self.initUI() def initUI(self): # ラベル名の設定 lbl1 = QLabel('Zetcode', self) # ラベルをx=15,y=10へ移動 lbl1.move(15, 10) lbl2 = QLabel('tutorials', self) lbl2.move(35, 40) lbl3 = QLabel('for programmers', self) lbl3.move(55, 70) self.setGeometry(300, 300, 250, 150) self.setWindowTitle('Absolute') self.show() if __name__ == '__main__': app = QApplication(sys.argv) ex = Example() sys.exit(app.exec_())
これも正常に動きました。そこで、この二つのコードを参考に該当のコードを書きました。25行目の
lbl.move(1000,1000)
で画像の表示位置が変わるかと思いましたが、そんなことはありませんでした。

回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。