Найти - Пользователи
Полная версия: Вывод нескольких изображений в окно
Начало » GUI » Вывод нескольких изображений в окно
1
AlexTrueMan
Мне нужно выводить изображения в определенном порядке
Как можно сделать функцию, которая бы отображала изображения в окне по определенным координатам.
Изображения при этом должны оставаться в окне.

Если отображать изображения в функции setupUi, то все работает.
 from PyQt5 import QtCore, QtGui, QtWidgets, QtSql
import sys
 
class Ui_Form(object):
    def setupUi(self, Form):
        Form.setObjectName("Form")
        Form.resize(500, 400)
 
        pic = QtGui.QPixmap()
        pic.load('1.png')
        pic = pic.scaledToHeight(100)
 
        self.lbl2 = QtWidgets.QLabel(Form)
        self.lbl2.move(200, 200)
        self.lbl2.setPixmap(pic)
 
if __name__ == "__main__":
    app = QtWidgets.QApplication(sys.argv)
    window = QtWidgets.QWidget()
    ui = Ui_Form()
    ui.setupUi(window)
    window.show()
    sys.exit(app.exec_())

Как сделать так, чтобы код ниже был в виде функции и рисовал изображения в главном окне по нажатию кнопки.
         pic = QtGui.QPixmap()
        pic.load('1.png')
        pic = pic.scaledToHeight(100)
 
        self.lbl2 = QtWidgets.QLabel(Form)
        self.lbl2.move(200, 200)
        self.lbl2.setPixmap(pic)
Может быть, можно создать окно какое то, в которое можно выводить изображения и текст? При этом, чтобы одновременно в окне, отображалось несколько изображений и много разного текста.
PEHDOM
посмотрите на QGraphicsScene/QGraphicsView
пример : https://pro-prof.com/archives/1117
AlexTrueMan
PEHDOM
посмотрите на QGraphicsScene/QGraphicsViewпример : https://pro-prof.com/archives/1117
Спасибо! Я уже сделал то, что хотел, именно с помощью указанных вами средств. Вот только я для каждого изображения сделал отдельную сцену и вью… Думаю можно было сделать все проще, но для моей цели, это подходит.

Так и не понял, почему в цикле while, вью обновляется только когда цикл завершается. Т.е. программа висит и потом отображается последнее действие в цикле…

Не знаете, можно ли сделать так, чтобы, кнопка генерировала клики clicked, пока она в нажатом состоянии? Т.е. чтобы один раз нажал и выполняется функция привязанная на кнопку, пока не нажмешь еще раз.
Как если бы я удерживал кнопку мыши на кнопке, при setAutoRepeat(True).

Для того чтобы работала программа, мне надо, или кликать по кнопке, или удерживать ее setAutoRepeat(True). Если я пишу в коде self.кнопка.click(), то в пустых QGraphicsView, рисуется то, что нужно, а если надо заново в него что то вывести, то оно выводится только когда код выполнится.
PEHDOM
Перефразируя , лучше один раз код написать, чем 10 раз пересказать. Выложите минимальный рабочий код, который повторяет проблему, тогда будет проще сказать чтото конкретно.
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB