Panel użytkownika
Nazwa użytkownika:
Hasło:
Nie masz jeszcze konta?

[Qt] Wyświetlanie obrazków

Ostatnio zmodyfikowano 2011-05-18 20:35
Autor Wiadomość
SeaMonster131
Temat założony przez niniejszego użytkownika
[Qt] Wyświetlanie obrazków
» 2011-05-17 18:26:56
Przejrzałem parę tematów, ale żaden nie odp na moje pytanie - jak wyświetlić obrazek (po kliknięciu przycisku)? Na początku spróbowałem z QImage i QPainter:
C/C++
void MainWindow::on_pushButton_clicked()
{
    QGraphicsScene * scene = new QGraphicsScene( 0, 0, 800, 600 );
    QPainter paint;
    QImage img;
   
    img.load( "img.jpg" );
    scene->setBackgroundBrush( Qt::black );
   
    paint.drawImage( 10, 10, img );
   
    ui->graphicsView->setScene( scene );
}

Niestety, ale obrazek się nie wyświetla.. Spróbowałem też z QPixmap, ale tam to nie widzę żadnej funkcji, aby ten obrazek wyświetlić :D
P-33099
malan
» 2011-05-17 22:29:07
Może jakiś update okna, czy coś podobnego? ;p
/edit:
Albo
C/C++
ui->graphicsView->setScene( scene );
ui->graphicsView->show();
P-33116
SeaMonster131
Temat założony przez niniejszego użytkownika
» 2011-05-17 22:31:57
To jutro dojdę do tego jak ten update zrobić :) Dosłownie od niedawna Qt zacząłem się uczyć :)

#
C/C++
ui->graphicsView->setScene( scene );
ui->graphicsView->show();
Nadal czarny ekran...
P-33118
pixelmaster
» 2011-05-18 11:22:25
Jeśli chcesz tylko wyświetlić obrazek to wg. mnie wystarczy sam QPainter.
Do paintera masz dostęp w funkcji paintEvent
C/C++
// w klasie okna głównego
protected:
virtual void paintEvent( QPaintEvent * event );

//w pliku cpp

void OknoGlowne::paintEvent( QPaintEvent * /*event*/ )
{
    QImage img( "image.png", "PNG" );
   
    QPainter painter( this );
    painter.drawImage( 20, 20, img, 0, 0, - 1, - 1, Qt::AutoColor );
}

dodaj sobie jakiegoś np. bool i po kliknięciu zmień mu wartość, w painterze daj warunek i będzie banglać.
paintEvent jest z tego co kojarzę wywoływany przy każdym odświeżeniu okna (czyli jak po zmianie wartości tego boola się nie pojawi obrazek spróbuj dać mu update();)
P-33123
SeaMonster131
Temat założony przez niniejszego użytkownika
» 2011-05-18 19:13:09
Dzięki :) obrazek się wyświetla po kliknięciu przycisku (tak jak napisałeś - musiałem dać jeszcze tam MainWindow::update()) :) Chodziło mi bardziej o to, aby ten obrazek wyświetlić w polu GraphicsView, no ale tak też jest ok :)
Aczkolwiek jeżeli ktoś ma jakiś pomysł z tym GraphicsView to pisać, z góry dzięki :)
P-33139
pixelmaster
» 2011-05-18 19:34:39
Odnośnie GraphicsView było w tym temacie [Qt] Tworzenie edytora map
P-33140
SeaMonster131
Temat założony przez niniejszego użytkownika
» 2011-05-18 20:35:20
Hm dzięki :)
Lecz i tak nie wiem hah ;) Zrobiłem to inaczej :) Głównie chodziło mi o to, że w GraphicsView są suwaki, ale dorobiłem "ręcznie" suwaki :)
Temat zamykam, dzięki za pomoc :)
P-33143
« 1 »
  Strona 1 z 1