crossplatform.ru

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

6 страниц V   1 2 3 > »   
Ответить в данную темуНачать новую тему
Andrewshkovskii
  опции профиля:
сообщение 1.1.2009, 16:33
Сообщение #1


Активный участник
***

Группа: Участник
Сообщений: 351
Регистрация: 27.12.2008
Пользователь №: 467

Спасибо сказали: 18 раз(а)




Репутация:   1  


Не пойму, каким методом?
Например, есть у меня объект класса QWidget и QImage.
Создаю объект QImage :
QImage MyImage = new QImage("newyear09.gif","GIF");

как мне разместить это изображение на виджете?
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
fsMark
  опции профиля:
сообщение 1.1.2009, 17:08
Сообщение #2


Студент
*

Группа: Участник
Сообщений: 97
Регистрация: 23.4.2008
Из: г. Киров
Пользователь №: 155

Спасибо сказали: 10 раз(а)




Репутация:   1  


На каком виджите ты хочешь размешать изображение? В общем случае его можно просто нарисовать на виджите, смотри методы отрисовки виджетов...
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
Andrewshkovskii
  опции профиля:
сообщение 1.1.2009, 17:10
Сообщение #3


Активный участник
***

Группа: Участник
Сообщений: 351
Регистрация: 27.12.2008
Пользователь №: 467

Спасибо сказали: 18 раз(а)




Репутация:   1  


да я попробовал следующие :
MyImage = new QImage("C:\\storage\\programming\\workspace\\1\\1.gif");
WidgetForImage = new QWidget;
Painter = new QPainter(WidgetForImage);
Painter->drawImage(0,0,*MyImage);
// LayoutForImage->addWidget(MyImage);
// this->addLayout(LayoutForImage);
this->WidgetForImage->show();

- ноль реации...
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
trdm
  опции профиля:
сообщение 1.1.2009, 18:19
Сообщение #4


Дмитрий Трошин
****

Группа: Участник
Сообщений: 575
Регистрация: 12.1.2008
Пользователь №: 68

Спасибо сказали: 21 раз(а)




Репутация:   6  


и не должно быть.
ты должен выполнять этот код:
drawImage(0,0,*MyImage);
В событии виджета paintEvent(...).
Есть вариант попроще: размести на виджете QLabel и засунь в QLabel пиксмап.
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
Andrewshkovskii
  опции профиля:
сообщение 1.1.2009, 18:27
Сообщение #5


Активный участник
***

Группа: Участник
Сообщений: 351
Регистрация: 27.12.2008
Пользователь №: 467

Спасибо сказали: 18 раз(а)




Репутация:   1  


то есть нету простого способа создать виджет с изображением вставленным?..
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
Litkevich Yuriy
  опции профиля:
сообщение 1.1.2009, 19:31
Сообщение #6


разработчик РЭА
*******

Группа: Сомодератор
Сообщений: 9669
Регистрация: 9.1.2008
Из: Тюмень
Пользователь №: 64

Спасибо сказали: 807 раз(а)




Репутация:   94  


Цитата(Andrewshkovskii @ 1.1.2009, 21:27) *
то есть нету простого способа создать виджет с изображением вставленным?..
виджет для изображений - QLabel
изображение устанавливается методами:
setPixmap ( const QPixmap & )
setPicture(const QPicture & picture)

например:
#include <QtGui>
int main(int argc, char** argv)
{
  QApplication app(argc, argv);
  QLabel    lb;
  QPixmap    pix;

    pix.load("./newyear09.gif");    
    lb.setPixmap(pix);
    lb.show();
    
    return app.exec();
}
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
Andrewshkovskii
  опции профиля:
сообщение 1.1.2009, 23:56
Сообщение #7


Активный участник
***

Группа: Участник
Сообщений: 351
Регистрация: 27.12.2008
Пользователь №: 467

Спасибо сказали: 18 раз(а)




Репутация:   1  


Хм..странно, но метка просто-напросто не показывается..
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
Litkevich Yuriy
  опции профиля:
сообщение 2.1.2009, 1:01
Сообщение #8


разработчик РЭА
*******

Группа: Сомодератор
Сообщений: 9669
Регистрация: 9.1.2008
Из: Тюмень
Пользователь №: 64

Спасибо сказали: 807 раз(а)




Репутация:   94  


Цитата(Andrewshkovskii @ 2.1.2009, 2:56) *
Хм..странно, но метка просто-напросто не показывается..
значит файла newyear09.gif нет в каталоге с бинарем. Проверь.
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
Andrewshkovskii
  опции профиля:
сообщение 2.1.2009, 1:06
Сообщение #9


Активный участник
***

Группа: Участник
Сообщений: 351
Регистрация: 27.12.2008
Пользователь №: 467

Спасибо сказали: 18 раз(а)




Репутация:   1  


да я проверял, и так и сяк...пишу вот так вот :
#include <QtGui>
int main(int argc, char** argv)
{
  QApplication app(argc, argv);
  QPixmap pix;
  QLabel lbl;
 if(pix.load("1.jpg")==false)
     lbl.setText("FALSE");
 else
      lbl.setText("TRUE");
 lbl.resize(pix.size());
  lbl.setPixmap(pix);
  lbl.show();
    return app.exec();
}


сплошной false показывает..

Сообщение отредактировал Litkevich Yuriy - 2.1.2009, 1:13
Причина редактирования: используй тэг code с параметром (code=cpp)
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
Litkevich Yuriy
  опции профиля:
сообщение 2.1.2009, 1:17
Сообщение #10


разработчик РЭА
*******

Группа: Сомодератор
Сообщений: 9669
Регистрация: 9.1.2008
Из: Тюмень
Пользователь №: 64

Спасибо сказали: 807 раз(а)




Репутация:   94  


вот тестовый пример:
Прикрепленный файл  Qt_test2.zip ( 37.28 килобайт ) Кол-во скачиваний: 315

скомпиль (qmake && make) и запусти отладочную версию ./build/tstd.exe
посмотри, что пишет в консоль.

затем в каталог ./build закинь файл av-64.gif и опять запусти отладочную версию ./build/tstd.exe
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
Andrewshkovskii
  опции профиля:
сообщение 2.1.2009, 1:24
Сообщение #11


Активный участник
***

Группа: Участник
Сообщений: 351
Регистрация: 27.12.2008
Пользователь №: 467

Спасибо сказали: 18 раз(а)




Репутация:   1  


мда..абсолютно ничего в консоль не выводит.так же не появляется метка с изображением..
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
Litkevich Yuriy
  опции профиля:
сообщение 2.1.2009, 1:41
Сообщение #12


разработчик РЭА
*******

Группа: Сомодератор
Сообщений: 9669
Регистрация: 9.1.2008
Из: Тюмень
Пользователь №: 64

Спасибо сказали: 807 раз(а)




Репутация:   94  


Цитата(Andrewshkovskii @ 2.1.2009, 4:24) *
мда..абсолютно ничего в консоль не выводит
расказывай, где компилишь, чем, какая ОСь, какая версия Qt ...
Этот пример будет железно везде работать если окружение нормальное.
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
Andrewshkovskii
  опции профиля:
сообщение 2.1.2009, 1:46
Сообщение #13


Активный участник
***

Группа: Участник
Сообщений: 351
Регистрация: 27.12.2008
Пользователь №: 467

Спасибо сказали: 18 раз(а)




Репутация:   1  


Пробывал в eclipse и просто через qmake. В основном работаю в eclipse/minGw, ось -winXP, версия Qt 4.4.3. собирал :
-platform win32-g++ -fast -release -static. может из-за того, что собирал релизную версию, без дебага, по-этому в консоль и не выводит?
если надо, системные переменные :
PATH :
%SystemRoot%\system32;%SystemRoot%;%SystemRoot%\System32\Wbem;C:\storage\programming\MinGW\bin;C:\storage\programming\qt-win-opensource-src-4.4.3\bin;
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
Litkevich Yuriy
  опции профиля:
сообщение 2.1.2009, 1:49
Сообщение #14


разработчик РЭА
*******

Группа: Сомодератор
Сообщений: 9669
Регистрация: 9.1.2008
Из: Тюмень
Пользователь №: 64

Спасибо сказали: 807 раз(а)




Репутация:   94  


Цитата(Andrewshkovskii @ 2.1.2009, 4:46) *
-platform win32-g++ -fast -release -static.
здесь ключевое слово выделено жирно. Забудь в статике про картинки (кроме PNG пожалуй) - это известная бага!

Цитата(Andrewshkovskii @ 2.1.2009, 4:46) *
без дебага, по-этому в консоль и не выводит?
а консоль появляется? (по идее не должна)
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
Andrewshkovskii
  опции профиля:
сообщение 2.1.2009, 1:50
Сообщение #15


Активный участник
***

Группа: Участник
Сообщений: 351
Регистрация: 27.12.2008
Пользователь №: 467

Спасибо сказали: 18 раз(а)




Репутация:   1  


Блин..просто тогда не удобно получается таскать либы вместе с exe файлом, если хочешь запустить на др. компе.а так они вшиваются в бинарник и..понятно вообще всем.
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
Litkevich Yuriy
  опции профиля:
сообщение 2.1.2009, 1:52
Сообщение #16


разработчик РЭА
*******

Группа: Сомодератор
Сообщений: 9669
Регистрация: 9.1.2008
Из: Тюмень
Пользователь №: 64

Спасибо сказали: 807 раз(а)




Репутация:   94  


Andrewshkovskii, говорят в 4.5 эту багу поправили. Но я не проверял.
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
Andrewshkovskii
  опции профиля:
сообщение 2.1.2009, 1:53
Сообщение #17


Активный участник
***

Группа: Участник
Сообщений: 351
Регистрация: 27.12.2008
Пользователь №: 467

Спасибо сказали: 18 раз(а)




Репутация:   1  


понятно.ну мне и png хватит пока-что:)спасибо!
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
kuler
  опции профиля:
сообщение 5.3.2009, 13:03
Сообщение #18


Танцор диско
***

Группа: Участник
Сообщений: 441
Регистрация: 11.9.2008
Из: Москва
Пользователь №: 289

Спасибо сказали: 6 раз(а)




Репутация:   -1  


два вопроса:
есть QPainter, как с него изображение залить на qpixmap?
как перекопировать изображение с одного QPainter на другой?
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
kuler
  опции профиля:
сообщение 5.3.2009, 14:40
Сообщение #19


Танцор диско
***

Группа: Участник
Сообщений: 441
Регистрация: 11.9.2008
Из: Москва
Пользователь №: 289

Спасибо сказали: 6 раз(а)




Репутация:   -1  


чтоже такое то не работает?
QPixmap* pixmap = new QPixmap;
    QPainter *painter = new QPainter(pixmap);
    painter->begin(pixmap);
    painter->drawEllipse(100, 100, 100, 100);
    painter->end();
    ui.label->setPixmap(*pixmap);
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
SABROG
  опции профиля:
сообщение 5.3.2009, 15:01
Сообщение #20


Профессионал
*****

Группа: Участник
Сообщений: 1207
Регистрация: 8.12.2008
Из: Russia, Moscow
Пользователь №: 446

Спасибо сказали: 229 раз(а)




Репутация:   34  


Я тоже пытался рисовать на QPixmap'e, но у меня при этом ничего не рисовалось, а в консоль писались ругательства про QPainter. Зато на QImage отлично рисуется.
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
Гость_BRE_*
сообщение 5.3.2009, 15:01
Сообщение #21





Гости








    


Цитата(kuler @ 5.3.2009, 14:40) *
чтоже такое то не работает?
QPixmap* pixmap = new QPixmap ( [b]100, 100[/b] );
    QPainter *painter = new QPainter(pixmap);
    painter->begin(pixmap);
    painter->drawEllipse(100, 100, 100, 100);
    painter->end();
    ui.label->setPixmap(*pixmap);

Размер pixmap укажи.
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
kwisp
  опции профиля:
сообщение 5.3.2009, 15:04
Сообщение #22


астарожна ынтжинэр
*****

Группа: Участник
Сообщений: 1404
Регистрация: 26.11.2008
Из: ТаганрогРодинаЧехова
Пользователь №: 435

Спасибо сказали: 113 раз(а)




Репутация:   23  


Цитата(SABROG @ 5.3.2009, 15:01) *
Я тоже пытался рисовать на QPixmap'e, но у меня при этом ничего не рисовалось, а в консоль писались ругательства про QPainter. Зато на QImage отлично рисуется.

да ну?
это что то недосомтрел наверное.
рисуется все прекрасно.
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
SABROG
  опции профиля:
сообщение 5.3.2009, 15:05
Сообщение #23


Профессионал
*****

Группа: Участник
Сообщений: 1207
Регистрация: 8.12.2008
Из: Russia, Moscow
Пользователь №: 446

Спасибо сказали: 229 раз(а)




Репутация:   34  


Цитата(kwisp @ 5.3.2009, 15:04) *
Цитата(SABROG @ 5.3.2009, 15:01) *
Я тоже пытался рисовать на QPixmap'e, но у меня при этом ничего не рисовалось, а в консоль писались ругательства про QPainter. Зато на QImage отлично рисуется.

да ну?
это что то недосомтрел наверное.
рисуется все прекрасно.

Такое пишется

QPainter::begin: Paint device returned engine == 0, type: 2
QPainter::end: Painter not active, aborted
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
Гость_BRE_*
сообщение 5.3.2009, 15:11
Сообщение #24





Гости








    


Цитата(SABROG @ 5.3.2009, 15:05) *
Цитата(kwisp @ 5.3.2009, 15:04) *
Цитата(SABROG @ 5.3.2009, 15:01) *
Я тоже пытался рисовать на QPixmap'e, но у меня при этом ничего не рисовалось, а в консоль писались ругательства про QPainter. Зато на QImage отлично рисуется.

да ну?
это что то недосомтрел наверное.
рисуется все прекрасно.

Такое пишется

QPainter::begin: Paint device returned engine == 0, type: 2
QPainter::end: Painter not active, aborted


Размер QPixmap указывал?
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
SABROG
  опции профиля:
сообщение 5.3.2009, 15:23
Сообщение #25


Профессионал
*****

Группа: Участник
Сообщений: 1207
Регистрация: 8.12.2008
Из: Russia, Moscow
Пользователь №: 446

Спасибо сказали: 229 раз(а)




Репутация:   34  


Непомню.
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
kwisp
  опции профиля:
сообщение 5.3.2009, 16:01
Сообщение #26


астарожна ынтжинэр
*****

Группа: Участник
Сообщений: 1404
Регистрация: 26.11.2008
Из: ТаганрогРодинаЧехова
Пользователь №: 435

Спасибо сказали: 113 раз(а)




Репутация:   23  


SABROG,
под виндой пробовал?
если есть желание можно пример состряпать.
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
SABROG
  опции профиля:
сообщение 5.3.2009, 16:13
Сообщение #27


Профессионал
*****

Группа: Участник
Сообщений: 1207
Регистрация: 8.12.2008
Из: Russia, Moscow
Пользователь №: 446

Спасибо сказали: 229 раз(а)




Репутация:   34  


Цитата(kwisp @ 5.3.2009, 16:01) *
SABROG,
под виндой пробовал?
если есть желание можно пример состряпать.

Я сейчас ничего состряпать не могу, пытаюсь скомпилить QtCreator вместе с Qt из исходников, это на всю ночь.
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
Гость_BRE_*
сообщение 5.3.2009, 17:31
Сообщение #28





Гости








    


#include <QApplication>
#include <QPainter>
#include <QPixmap>
#include <QDebug>

int main( int argc, char *argv[] )
{
        QApplication app( argc, argv );

        QPixmap pix( 100, 100 );
        QPainter p( &pix );
        p.fillRect( QRect( 0, 0, pix.size().width(), pix.size().height() ), QBrush( Qt::white ) );
        p.setPen( QPen( Qt::red ) );
        p.drawRect( 10, 10, 80, 80 );
        pix.save( "test.png" );

        return 0;
}
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
kuler
  опции профиля:
сообщение 5.3.2009, 18:32
Сообщение #29


Танцор диско
***

Группа: Участник
Сообщений: 441
Регистрация: 11.9.2008
Из: Москва
Пользователь №: 289

Спасибо сказали: 6 раз(а)




Репутация:   -1  


Цитата(Гость_BRE_* @ 5.3.2009, 17:31) *
QPainter p( &pix );

а можно это не в конструкторе сделать? что то типа p->setPixmap(pix)
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
Гость_BRE_*
сообщение 5.3.2009, 18:36
Сообщение #30





Гости








    


Цитата(kuler @ 5.3.2009, 18:32) *
Цитата(Гость_BRE_* @ 5.3.2009, 17:31) *
QPainter p( &pix );

а можно это не в конструкторе сделать? что то типа p->setPixmap(pix)


p.begin( &pix );
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
kuler
  опции профиля:
сообщение 5.3.2009, 19:00
Сообщение #31


Танцор диско
***

Группа: Участник
Сообщений: 441
Регистрация: 11.9.2008
Из: Москва
Пользователь №: 289

Спасибо сказали: 6 раз(а)




Репутация:   -1  


остается один вопрос - как перекинуть с одного паинтера на другой данные

и как задать размеры пиксмапу не в конструкторе
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
Гость_BRE_*
сообщение 5.3.2009, 19:02
Сообщение #32





Гости








    


Цитата(kuler @ 5.3.2009, 18:55) *
остается один вопрос - как перекинуть с одного паинтера на другой данные

Объект QPainter - это не хранилище данных, все данные храняться в объектах наследниках от QPaintDevice (QPixmap, QImage, QWidget, QPrinter и т.д.). Вот оттуда и нужно копировать.
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
kuler
  опции профиля:
сообщение 5.3.2009, 19:41
Сообщение #33


Танцор диско
***

Группа: Участник
Сообщений: 441
Регистрация: 11.9.2008
Из: Москва
Пользователь №: 289

Спасибо сказали: 6 раз(а)




Репутация:   -1  


а про размеры?
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
Гость_BRE_*
сообщение 5.3.2009, 19:52
Сообщение #34





Гости








    


Цитата(kuler @ 5.3.2009, 19:41) *
а про размеры?

Эээ. Какие размеры?
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
kuler
  опции профиля:
сообщение 5.3.2009, 19:56
Сообщение #35


Танцор диско
***

Группа: Участник
Сообщений: 441
Регистрация: 11.9.2008
Из: Москва
Пользователь №: 289

Спасибо сказали: 6 раз(а)




Репутация:   -1  


как задать размеры пиксмапу не в конструкторе

Цитата(Гость_BRE_* @ 5.3.2009, 19:02) *
Вот оттуда и нужно копировать.

я хочу скопировать изображение qtablewidget на pixmap - как такое сделать?
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
Гость_BRE_*
сообщение 5.3.2009, 20:00
Сообщение #36





Гости








    


Цитата(kuler @ 5.3.2009, 19:56) *
как задать размеры пиксмапу не в конструкторе

Цитата(Гость_BRE_* @ 5.3.2009, 19:02) *
Вот оттуда и нужно копировать.

я хочу скопировать изображение qtablewidget на pixmap - как такое сделать?


Цитата
QPixmap QPixmap::grabWidget ( QWidget * widget, const QRect & rectangle ) [static]
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
SABROG
  опции профиля:
сообщение 5.3.2009, 21:59
Сообщение #37


Профессионал
*****

Группа: Участник
Сообщений: 1207
Регистрация: 8.12.2008
Из: Russia, Moscow
Пользователь №: 446

Спасибо сказали: 229 раз(а)




Репутация:   34  


Цитата(BRE @ 5.3.2009, 17:31) *
#include <QApplication>
#include <QPainter>
#include <QPixmap>
#include <QDebug>

int main( int argc, char *argv[] )
{
        QApplication app( argc, argv );

        QPixmap pix( 100, 100 );
        QPainter p( &pix );
        p.fillRect( QRect( 0, 0, pix.size().width(), pix.size().height() ), QBrush( Qt::white ) );
        p.setPen( QPen( Qt::red ) );
        p.drawRect( 10, 10, 80, 80 );
        pix.save( "test.png" );

        return 0;
}


Действительно так работает, а если сделать pixmap безразмерным, то как-раз получаю те самые ошибки. Спасибо.
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
kwisp
  опции профиля:
сообщение 6.3.2009, 0:07
Сообщение #38


астарожна ынтжинэр
*****

Группа: Участник
Сообщений: 1404
Регистрация: 26.11.2008
Из: ТаганрогРодинаЧехова
Пользователь №: 435

Спасибо сказали: 113 раз(а)




Репутация:   23  


Цитата(SABROG @ 5.3.2009, 21:59) *
Действительно так работает, а если сделать pixmap безразмерным, то как-раз получаю те самые ошибки. Спасибо.


так и есть.
Цитата
QPixmap::QPixmap ()
Constructs a null pixmap.
See also isNull().
.....
bool QPixmap::isNull () const
Returns true if this is a null pixmap; otherwise returns false.
A null pixmap has zero width, zero height and no contents. You cannot draw in a null pixmap.
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
kuler
  опции профиля:
сообщение 6.3.2009, 11:17
Сообщение #39


Танцор диско
***

Группа: Участник
Сообщений: 441
Регистрация: 11.9.2008
Из: Москва
Пользователь №: 289

Спасибо сказали: 6 раз(а)




Репутация:   -1  


как задать размеры пиксмапу не в конструкторе
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
kwisp
  опции профиля:
сообщение 6.3.2009, 11:23
Сообщение #40


астарожна ынтжинэр
*****

Группа: Участник
Сообщений: 1404
Регистрация: 26.11.2008
Из: ТаганрогРодинаЧехова
Пользователь №: 435

Спасибо сказали: 113 раз(а)




Репутация:   23  


Цитата(kuler @ 6.3.2009, 11:17) *
как задать размеры пиксмапу не в конструкторе

см.
Pixmap Transformations в Assistent
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
kuler
  опции профиля:
сообщение 6.3.2009, 11:26
Сообщение #41


Танцор диско
***

Группа: Участник
Сообщений: 441
Регистрация: 11.9.2008
Из: Москва
Пользователь №: 289

Спасибо сказали: 6 раз(а)




Репутация:   -1  


и почему когда в лэбел сую пиксмап, то его высота становится минимум сайз лабела?
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
kwisp
  опции профиля:
сообщение 6.3.2009, 11:30
Сообщение #42


астарожна ынтжинэр
*****

Группа: Участник
Сообщений: 1404
Регистрация: 26.11.2008
Из: ТаганрогРодинаЧехова
Пользователь №: 435

Спасибо сказали: 113 раз(а)




Репутация:   23  


kuler,
а как тебе надо?
может дело в QLabel?
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
kuler
  опции профиля:
сообщение 6.3.2009, 12:09
Сообщение #43


Танцор диско
***

Группа: Участник
Сообщений: 441
Регистрация: 11.9.2008
Из: Москва
Пользователь №: 289

Спасибо сказали: 6 раз(а)




Репутация:   -1  


Цитата(kwisp @ 6.3.2009, 11:30) *
а как тебе надо?

чтобы размер лабела мог быть меньше размера пикса, так как на мониторе не помещается
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
kwisp
  опции профиля:
сообщение 6.3.2009, 12:12
Сообщение #44


астарожна ынтжинэр
*****

Группа: Участник
Сообщений: 1404
Регистрация: 26.11.2008
Из: ТаганрогРодинаЧехова
Пользователь №: 435

Спасибо сказали: 113 раз(а)




Репутация:   23  


kuler,
так читай о QLabel

scaledContecst
и проч. проч
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
kuler
  опции профиля:
сообщение 6.3.2009, 12:42
Сообщение #45


Танцор диско
***

Группа: Участник
Сообщений: 441
Регистрация: 11.9.2008
Из: Москва
Пользователь №: 289

Спасибо сказали: 6 раз(а)




Репутация:   -1  


kwisp, это я знаю, включал - выключал - не помогло
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
kwisp
  опции профиля:
сообщение 6.3.2009, 12:48
Сообщение #46


астарожна ынтжинэр
*****

Группа: Участник
Сообщений: 1404
Регистрация: 26.11.2008
Из: ТаганрогРодинаЧехова
Пользователь №: 435

Спасибо сказали: 113 раз(а)




Репутация:   23  


kuler,
тогда такой вопрос.
тебе как надо чтобы размер пикс менялся вместе с размером лэйбла?
тогда я думаю либо перерисовывать либо в resizeEvent() делать scale() пиксу и вставлять его заново.
можно палитры еще использовать.
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
kuler
  опции профиля:
сообщение 6.3.2009, 13:17
Сообщение #47


Танцор диско
***

Группа: Участник
Сообщений: 441
Регистрация: 11.9.2008
Из: Москва
Пользователь №: 289

Спасибо сказали: 6 раз(а)




Репутация:   -1  


Цитата(kwisp @ 6.3.2009, 12:48) *
тебе как надо чтобы размер пикс менялся вместе с размером лэйбла?

ну я думал это будет аутоматично за счет scaledcontents
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
kuler
  опции профиля:
сообщение 6.3.2009, 14:44
Сообщение #48


Танцор диско
***

Группа: Участник
Сообщений: 441
Регистрация: 11.9.2008
Из: Москва
Пользователь №: 289

Спасибо сказали: 6 раз(а)




Репутация:   -1  


c grab'ом чтото не получается не подскажите?
QPixmap pix(300, 300);
    pix.grabWidget(table);//, 0, 0, 200, 200);//пробовала и так и так
    m_Painter.begin(m_Pixmap);
    m_Painter.drawPixmap(0, 0, pix);
    m_Painter.end();
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
kwisp
  опции профиля:
сообщение 6.3.2009, 14:47
Сообщение #49


астарожна ынтжинэр
*****

Группа: Участник
Сообщений: 1404
Регистрация: 26.11.2008
Из: ТаганрогРодинаЧехова
Пользователь №: 435

Спасибо сказали: 113 раз(а)




Репутация:   23  


Цитата(kuler @ 6.3.2009, 14:44) *
c grab'ом чтото не получается не подскажите?

а что не получается?
по конкретнее.
зачем с одной картинки на другую перерисовывать?
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
BRE
  опции профиля:
сообщение 6.3.2009, 14:47
Сообщение #50


Профессионал
*****

Группа: Участник
Сообщений: 1112
Регистрация: 6.3.2009
Из: Ростов-на-Дону
Пользователь №: 591

Спасибо сказали: 264 раз(а)




Репутация:   44  


Цитата(kuler @ 6.3.2009, 14:44) *
c grab'ом чтото не получается не подскажите?
QPixmap pix(300, 300);
    pix.grabWidget(table);//, 0, 0, 200, 200);//пробовала и так и так
    m_Painter.begin(m_Pixmap);
    m_Painter.drawPixmap(0, 0, pix);
    m_Painter.end();

QPixmap pix = QPixmap::grabWidget( table );


Цитата
Warning: Do not call this function from QWidget::paintEvent().
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
kuler
  опции профиля:
сообщение 10.3.2009, 11:56
Сообщение #51


Танцор диско
***

Группа: Участник
Сообщений: 441
Регистрация: 11.9.2008
Из: Москва
Пользователь №: 289

Спасибо сказали: 6 раз(а)




Репутация:   -1  


а вот почему при вставке пиксмапа в лэбел при некоторых изменениях размера цвет фона становится синим? а так белый и мне кажется это правильно
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
kuler
  опции профиля:
сообщение 10.3.2009, 14:37
Сообщение #52


Танцор диско
***

Группа: Участник
Сообщений: 441
Регистрация: 11.9.2008
Из: Москва
Пользователь №: 289

Спасибо сказали: 6 раз(а)




Репутация:   -1  


Цитата(kwisp @ 6.3.2009, 11:23) *
Цитата(kuler @ 6.3.2009, 11:17) *
как задать размеры пиксмапу не в конструкторе

см.
Pixmap Transformations в Assistent

а как правильно?
так:
m_Pixmap = new QPixmap(1, 1);

m_Pixmap = m_Pixmap->scaled(100, 100,  Qt::KeepAspectRatio);

или так:
m_Pixmap = new QPixmap(1, 1);

tmp = Pixmap;
m_Pixmap = m_Pixmap->scaled(100, 100,  Qt::KeepAspectRatio);
delete tmp;
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
BRE
  опции профиля:
сообщение 10.3.2009, 14:46
Сообщение #53


Профессионал
*****

Группа: Участник
Сообщений: 1112
Регистрация: 6.3.2009
Из: Ростов-на-Дону
Пользователь №: 591

Спасибо сказали: 264 раз(а)




Репутация:   44  


QPixmap pix1( ... );

QPixmap pix2 = pix1.scaled(...);
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
kuler
  опции профиля:
сообщение 10.3.2009, 14:56
Сообщение #54


Танцор диско
***

Группа: Участник
Сообщений: 441
Регистрация: 11.9.2008
Из: Москва
Пользователь №: 289

Спасибо сказали: 6 раз(а)




Репутация:   -1  


блин,чо они так тупо сделали - с указателями работать нельзя
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
kwisp
  опции профиля:
сообщение 10.3.2009, 14:59
Сообщение #55


астарожна ынтжинэр
*****

Группа: Участник
Сообщений: 1404
Регистрация: 26.11.2008
Из: ТаганрогРодинаЧехова
Пользователь №: 435

Спасибо сказали: 113 раз(а)




Репутация:   23  


Цитата(kuler @ 10.3.2009, 14:56) *
блин,чо они так тупо сделали - с указателями работать нельзя

да все норм.
зачем тебе указатели?
пользуйся объектами и норм этож не виджет.
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
kuler
  опции профиля:
сообщение 10.3.2009, 15:04
Сообщение #56


Танцор диско
***

Группа: Участник
Сообщений: 441
Регистрация: 11.9.2008
Из: Москва
Пользователь №: 289

Спасибо сказали: 6 раз(а)




Репутация:   -1  


кроме того нельзя сделать scaled нулевого пиксмапа

Цитата(kwisp @ 10.3.2009, 14:59) *
зачем тебе указатели?

чтобы создавать объект когда захочу, чтобы расшаривать объект
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
BRE
  опции профиля:
сообщение 10.3.2009, 15:07
Сообщение #57


Профессионал
*****

Группа: Участник
Сообщений: 1112
Регистрация: 6.3.2009
Из: Ростов-на-Дону
Пользователь №: 591

Спасибо сказали: 264 раз(а)




Репутация:   44  


Цитата(kuler @ 10.3.2009, 15:00) *
кроме того нельзя сделать scaled нулевого пиксмапа

А зачем это делать?
QPixmap p( 0, 0 );
p.scaled( 100, 100 );

тоже что и 

QPixmap p( 100, 100 );



Цитата(kuler @ 10.3.2009, 15:04) *
кроме того нельзя сделать scaled нулевого пиксмапа

Цитата(kwisp @ 10.3.2009, 14:59) *
зачем тебе указатели?

чтобы создавать объект когда захочу, чтобы расшаривать объект


QPixmap dst = pix1.scaled( 100, 100 );

QPixmap *pPix = new QPixmap( dst );

или просто 

QPixmap *pPix = new QPixmap( pix1.scaled( 100, 100 ) );
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
kuler
  опции профиля:
сообщение 10.3.2009, 15:25
Сообщение #58


Танцор диско
***

Группа: Участник
Сообщений: 441
Регистрация: 11.9.2008
Из: Москва
Пользователь №: 289

Спасибо сказали: 6 раз(а)




Репутация:   -1  


Цитата(BRE @ 10.3.2009, 15:07) *
А зачем это делать?

QPixmap p( 0, 0 );
p.scaled( 100, 100 );

тоже что и

QPixmap p( 100, 100 );

а ты проверял этот код? у меня такое не катит
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
kwisp
  опции профиля:
сообщение 10.3.2009, 15:27
Сообщение #59


астарожна ынтжинэр
*****

Группа: Участник
Сообщений: 1404
Регистрация: 26.11.2008
Из: ТаганрогРодинаЧехова
Пользователь №: 435

Спасибо сказали: 113 раз(а)




Репутация:   23  


kuler,
это код не будет работать можно и не проверять. вернее первая его часть.
тебя просто спросили о смысле изменять размер нулевого пиксмапа?
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
kuler
  опции профиля:
сообщение 10.3.2009, 15:32
Сообщение #60


Танцор диско
***

Группа: Участник
Сообщений: 441
Регистрация: 11.9.2008
Из: Москва
Пользователь №: 289

Спасибо сказали: 6 раз(а)




Репутация:   -1  


kwisp, в конструкторе я хотел никак не инициализировать, ибо я не знаю какой размер мне нужен будет,а в последствии его узнав я хотел выставить. Конкретно мне надо добавлять страницы, я делаю превью печать, соответственно сначала 1 страница, в какойто момент их 2 и мне нужно расширить пиксмап
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение

6 страниц V   1 2 3 > » 
Быстрый ответОтветить в данную темуНачать новую тему
Теги
Нет тегов для показа


1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0


RSS Рейтинг@Mail.ru Текстовая версия Сейчас: 5.6.2025, 4:14