Уведомления

Группа в Telegram: @pythonsu
  • Начало
  • » GUI
  • » Вывод нескольких изображений в окно [RSS Feed]

#1 Июнь 11, 2017 01:49:50

AlexTrueMan
Зарегистрирован: 2017-06-11
Сообщения: 2
Репутация: +  0  -
Профиль   Отправить e-mail  

Вывод нескольких изображений в окно

Мне нужно выводить изображения в определенном порядке
Как можно сделать функцию, которая бы отображала изображения в окне по определенным координатам.
Изображения при этом должны оставаться в окне.

Если отображать изображения в функции 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)
Может быть, можно создать окно какое то, в которое можно выводить изображения и текст? При этом, чтобы одновременно в окне, отображалось несколько изображений и много разного текста.

Отредактировано AlexTrueMan (Июнь 11, 2017 01:55:41)

Офлайн

#2 Июнь 11, 2017 14:43:57

PEHDOM
Зарегистрирован: 2016-11-28
Сообщения: 2196
Репутация: +  294  -
Профиль   Отправить e-mail  

Вывод нескольких изображений в окно

посмотрите на QGraphicsScene/QGraphicsView
пример : https://pro-prof.com/archives/1117



==============================
Помещайте код в теги:
[code python][/code]
Бериегите свое и чужое время.

Отредактировано PEHDOM (Июнь 11, 2017 14:44:15)

Офлайн

#3 Июнь 11, 2017 19:37:25

AlexTrueMan
Зарегистрирован: 2017-06-11
Сообщения: 2
Репутация: +  0  -
Профиль   Отправить e-mail  

Вывод нескольких изображений в окно

PEHDOM
посмотрите на QGraphicsScene/QGraphicsViewпример : https://pro-prof.com/archives/1117
Спасибо! Я уже сделал то, что хотел, именно с помощью указанных вами средств. Вот только я для каждого изображения сделал отдельную сцену и вью… Думаю можно было сделать все проще, но для моей цели, это подходит.

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

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

Для того чтобы работала программа, мне надо, или кликать по кнопке, или удерживать ее setAutoRepeat(True). Если я пишу в коде self.кнопка.click(), то в пустых QGraphicsView, рисуется то, что нужно, а если надо заново в него что то вывести, то оно выводится только когда код выполнится.

Отредактировано AlexTrueMan (Июнь 11, 2017 20:20:40)

Офлайн

#4 Июнь 11, 2017 22:59:11

PEHDOM
Зарегистрирован: 2016-11-28
Сообщения: 2196
Репутация: +  294  -
Профиль   Отправить e-mail  

Вывод нескольких изображений в окно

Перефразируя , лучше один раз код написать, чем 10 раз пересказать. Выложите минимальный рабочий код, который повторяет проблему, тогда будет проще сказать чтото конкретно.



==============================
Помещайте код в теги:
[code python][/code]
Бериегите свое и чужое время.

Офлайн

  • Начало
  • » GUI
  • » Вывод нескольких изображений в окно[RSS Feed]

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version