Russian Qt Forum

Qt => Вопросы новичков => Тема начата: Doszhan от Февраль 27, 2011, 13:42



Название: Добавление картинки
Отправлено: Doszhan от Февраль 27, 2011, 13:42
Доброго времени суток

Как добавить QLabel с картинкой в определенное место по пикселям?
Код:
korm->setGeometry(730, 84, 40, 40);
korm->setStyleSheet("background-image: url(\'C:/Qt/2010.05/qt/Dogbattle/images/korm.jpg\'); background-repeat: no-repeat;");
    window->setStyleSheet("background-image: url(\'C:/Qt/2010.05/qt/Dogbattle/images/back.jpg\'); background-repeat: no-repeat;");
    layout->addWidget(korm);
    layout->addWidget(log);

Проблема в том, что картинка добавляется совсем не туда, куда я рассчитывал. Почему-то фон window дублируется. Также недоступны фунции виджета log (например mousePressEvent).


Название: Re: Добавление картинки
Отправлено: Doszhan от Февраль 27, 2011, 19:37
Решил копаться с самых основ.

Не могу ничего нарисовать.

Даже списал пример кода с оффсайта:

Код:
QLineF line(10.0, 80.0, 90.0, 20.0);

QPainter painter(this);
painter.drawLine(line);

Компилируется без ошибок, но в окне ничего нету кроме серого фона.


Название: Re: Добавление картинки
Отправлено: Fat-Zer от Февраль 27, 2011, 20:36
давайте полный код, а не огрызки


Название: Re: Добавление картинки
Отправлено: Doszhan от Февраль 27, 2011, 20:53
Ничего нету, только код из примера


mainwindow.cpp:
Код:
#include "mainwindow.h"

MainWindow::MainWindow(QWidget *parent)
    : QMainWindow(parent)
{
    QLineF line(10.0, 80.0, 90.0, 20.0);

    QPainter painter(this);
    painter.drawLine(line);
}

mainwindow.h:
Код:
#ifndef MAINWINDOW_H
#define MAINWINDOW_H

#include <QtGui/QMainWindow>

class MainWindow : public QMainWindow
{
    Q_OBJECT

public:
    MainWindow(QWidget *parent = 0);
    ~MainWindow();
};

#endif // MAINWINDOW_H


Название: Re: Добавление картинки
Отправлено: Fat-Zer от Февраль 27, 2011, 21:20
рисовать на себе виджет может только в paintEvent(), сообщениями об этом он должен был плеваться в консоль.


Название: Re: Добавление картинки
Отправлено: Doszhan от Февраль 27, 2011, 21:43
рисовать на себе виджет может только в paintEvent(), сообщениями об этом он должен был плеваться в консоль.

Большое спасибо

Мда, с такими шагами я достигну результата... в ночь перед дедлайном