Russian Qt Forum

Qt => Пользовательский интерфейс (GUI) => Тема начата: diduz от Август 04, 2010, 15:08



Название: Добавление изображеня через стандартный диалог
Отправлено: diduz от Август 04, 2010, 15:08
Здравствуйте,недавно начал изучать QT, мне нужно чтобы была возможность добавления любого изображения jpg  в приложение.
Я никак не могу разобраться с QPaintDevice, что нужно передать в painter.begin();чтобы происходило рисование.А также хотелось бы знать как отрисовать картинку в пути к которой есть каталоги на русском языке.

Код:
#include "loadpic.h"

loadpic::loadpic(QWidget *pwgt):QWidget(pwgt){
    lblLoadPic=new QLabel("dounload picture");
    pbPicLoad=new QPushButton("dounload");
    lblLoadPic->setBuddy(pbPicLoad);

    connect(pbPicLoad,SIGNAL(clicked()),SLOT(openFileName()));

    QHBoxLayout* hblLoadPic= new QHBoxLayout;
    hblLoadPic->addWidget(lblLoadPic);
    hblLoadPic->addWidget(pbPicLoad);
    //видимо сюда нужно чтото добавить где будет происходить отричовка, но что я не знаю
    setLayout(hblLoadPic);


}
void loadpic::openFileName(){
    QString fileName=QFileDialog::getOpenFileName(0,"Open picture","*.jpg");
    QImage   img(fileName);
    QPainter painter;

    painter.begin(this);//проблема тут
    painter.drawImage(0, 0, img);
}


Название: Re: Добавление изображеня через стандартный диалог
Отправлено: SimpleSunny от Август 04, 2010, 15:15
Если нужно просто отображать картинку, то можно воспользоваться QLabel, у которого есть метод void setPixmap(const QPixmap &).

Код
C++ (Qt)
QPixmap pix(fileName);
label->setPixmap(pix);


Название: Re: Добавление изображеня через стандартный диалог
Отправлено: diduz от Август 04, 2010, 16:04
спасибо, помогло, русские каталоги тоже работают