crossplatform.ru

Здравствуйте, гость ( Вход | Регистрация )


  Ответ в QGraphicsView & QGraphicsScene
Введите ваше имя
Подтвердите код

Введите в поле код из 6 символов, отображенных в виде изображения. Если вы не можете прочитать код с изображения, нажмите на изображение для генерации нового кода.
 

Опции сообщения
 Включить смайлы?
Иконки сообщения
(Опционально)
                                
                                
  [ Без иконки ]
 


Последние 10 сообщений [ в обратном порядке ]
AD Дата 30.5.2011, 11:31
 
Цитата(igor_bogomolov @ 30.5.2011, 12:23) *
Так с этого и надо было начинать. Ты Q_IMPORT_PLUGIN(qjpeg) добавил? В общем читать здесь

Хорошо. Один маленький вопрос, а этот макрос есть в 4.3.2? Если нет, то какой стоит использовать?

Вопрос снимаю. Спасибо. Удалось сделать. Еще раз спасибо. То что доктор прописал! :)

У меня по этой же теме есть другой вопрос. Как отмасштабировать изображение. В этот же QGraphicsScene справа я хочу добавить подпись. Собственно, не секрет, делаю бейджик, по сути. Слева - фото, справа - ФИО.
igor_bogomolov Дата 30.5.2011, 11:23
 
Цитата(AD @ 30.5.2011, 11:23) *
Фотографии jpg не подгружаются, только в png формате. ...... у меня статическая сборка, то просто добавил lib-файл.
Так с этого и надо было начинать. Ты Q_IMPORT_PLUGIN(qjpeg) добавил? В общем читать здесь
AD Дата 30.5.2011, 10:23
 
Цитата(igor_bogomolov @ 30.5.2011, 11:03) *

Я практически так и сделал, вообще-то. Есть недостаток. Фотографии jpg не подгружаются, только в png формате. Плагин для работы загрузил. Так как у меня статическая сборка, то просто добавил lib-файл.
igor_bogomolov Дата 30.5.2011, 10:03
 
#include <QtCore>                                                                                                                            
#include <QtGui>                                                                                                                            
                                                                                                                                            
int main(int argc, char *argv[])                                                                                                            
{                                                                                                                                            
    QApplication app(argc, argv);                                                                                                            
                                                                                                                                            
    QString photo_name(QFileDialog::getOpenFileName(0, "Open image", ".", "Images (*.png *.jpg *.jpeg)"));                                  
    if(photo_name.isEmpty())                                                                                                                
        return -1;                                                                                                                          
                                                                                                                                            
    QGraphicsView view;                                                                                                                      
    QGraphicsScene scene;                                                                                                                    
    view.setScene(&scene);                                                                                                                  
                                                                                                                                            
    scene.addPixmap(QPixmap(photo_name));                                                                                                  
                                                                                                                                            
    view.resize(480, 320);                                                                                                                  
    view.show();                                                                                                                            
    return app.exec();                                                                                                                      
}
AD Дата 30.5.2011, 8:33
 
Цитата(Litkevich Yuriy @ 29.5.2011, 8:32) *
1) функция load() возвращает булевое значение, в зависимости от результата загрузки.
2) я делал так:
QPixmap pix("./misc/circuit.svg");
scene->addPixmap(pix);

1) Проверил, возвращает false. А как тогда загрузить правильно?
2) Твой вариант тоже попробовал. Тоже ничего не видно. Правда, пытался указать директорию ту, что выбрал пользователь. Пытаюсь отобразить jpeg-картинки, фотографии.

Может что-то еще требуется указать? Или как-то прозрачность обозначить? Кто-нибудь пытался отобразить фото-изображение? Что еще требуется?
Litkevich Yuriy Дата 29.5.2011, 7:32
  1) функция load() возвращает булевое значение, в зависимости от результата загрузки.
2) я делал так:
QPixmap pix("./misc/circuit.svg");
scene->addPixmap(pix);

AD Дата 28.5.2011, 21:15
 
Цитата(Litkevich Yuriy @ 28.5.2011, 21:10) *
А зачам через промежуточный QImage?

И вообще, у тебя сам файл-то корректно загружается?

Я посмотрел на пример в ассистенте. Как именно файл должен загружаться? Что конкретно должно произойти.
Litkevich Yuriy Дата 28.5.2011, 20:10
  А зачам через промежуточный QImage?

И вообще, у тебя сам файл-то корректно загружается?
AD Дата 28.5.2011, 19:24
  Есть виджет QGraphicsView. На нем устанавливаю с помощью setScene QGraphicsScene.
/// Cлoт выбора фотографии
void CutAway::clickSelectPhoto()
{
    QString fname(valueElement("PhotoName", QString("")).toString()),
            caption("Диалоговoe oкнo oткрытия фoтoгpaфии");
    QString photo_name(QFileDialog::getOpenFileName(this, unicode(caption), fname, QString("*.jpg *.png")));
    photo_name = QDir::toNativeSeparators(photo_name);
    if(photo_name.isEmpty())
        return;

    writeElement("PhotoName", photo_name);
    linePathPhoto -> setText(photo_name);
    QImage img(QSize(400, 300), QImage::Format_RGB32);
    img.load(photo_name);
    _scene -> addPixmap(QPixmap::fromImage(img, Qt::OrderedAlphaDither));
}
Это код кнопки выбора фотографии. Как сделать, чтобы отобразилась фото? Пока показывается черная рамка вместо фото. Заранее спасибо за помощь.
Просмотр темы полностью (откроется в новом окне)
RSS Текстовая версия Сейчас: 27.2.2021, 19:04