【发布时间】:2017-03-07 16:22:44
【问题描述】:
我正在 PyQt5 中开发一个非常简单的应用程序,用于显示和排序图像。我是 Python 和 Qt 的新手,尤其是我遇到了一些问题。我正在尝试在 QLabel 对象中显示 QPixmap 图像,并且它们显示正确。但是,它们默认排成一排,我不知道如何移动它们。
(我知道代码很糟糕,但我想在清理之前让它工作。)
这是我的代码:
class ImageClassifier(QtWidgets.QWidget):
def __init__(self):
super().__init__()
self.init_ui()
def init_ui(self):
hbox = QtWidgets.QHBoxLayout(self)
mainImg = QPixmap("img.png")
xmplImg0 = QPixmap("img0.png")
xmplImg1 = QPixmap("img1.png")
xmplImg2 = QPixmap("img2.png")
xmplImg3 = QPixmap("img3.png")
lbl = QtWidgets.QLabel(self)
lbl0 = QtWidgets.QLabel(self)
lbl1 = QtWidgets.QLabel(self)
lbl2 = QtWidgets.QLabel(self)
lbl3 = QtWidgets.QLabel(self)
lbl.setPixmap(mainImg)
lbl0.setPixmap(xmplImg0)
lbl1.setPixmap(xmplImg1)
lbl2.setPixmap(xmplImg2)
lbl3.setPixmap(xmplImg3)
hbox.addWidget(lbl)
hbox.addWidget(lbl0)
hbox.addWidget(lbl1)
hbox.addWidget(lbl2)
hbox.addWidget(lbl3)
lbl0.setGeometry(30, 30, 30, 30)
self.setLayout(hbox)
self.move(300, 200)
self.setWindowTitle('Fruit Classifier')
self.show()
if __name__ == '__main__':
app = QtWidgets.QApplication(sys.argv)
ic = ImageClassifier()
sys.exit(app.exec_())
lbl0.setGeometry() 函数根本没有做任何事情,我不知道为什么。有谁知道解决这个问题的方法,或者设置 QLabel 对象位置的更好方法?
【问题讨论】:
-
看起来您设置的几何图形小于最小尺寸,因此几何图形被忽略。
-
哦,抱歉,我在发帖前一秒钟添加了这一点,试图修复它。没有那条线,它仍然不起作用。我将编辑以删除该行。
标签: python qt layout pyqt pyqt5