Russian Qt Forum

Qt => Пользовательский интерфейс (GUI) => Тема начата: dangreen от Июня 22, 2011, 20:50



Название: Кнопка из картинки
Отправлено: dangreen от Июня 22, 2011, 20:50
Здрасте всем, собственно как сделать кнопку из png картинки, ну или хотябы как поместить картинку на форму чтобы по нажатию на картинку было событие ?

буду очень благодарен елси мне поможете  ;)


Название: Re: Кнопка из картинки
Отправлено: ecspertiza от Июня 22, 2011, 21:58
А ты приведи пример картинки  :) Вообще можно много чем пользоваться StyleSheet например или рисовать руками


Название: Re: Кнопка из картинки
Отправлено: iks от Июня 22, 2011, 22:47
Можно так
Код
C++ (Qt)
   QPixmap *pix = new QPixmap(":/img.png");
   QPushButton *onButton = new QPushButton(this);
   onButton->setCursor(Qt::PointingHandCursor);
   onButton->setToolTip("Text");
   onButton->setIcon(*pix);
   onButton->setIconSize(QSize(pix->width(), pix->height()));
   onButton->setFixedSize(onButton->iconSize());
   onButton->setFlat(true);
   connect(onButton, SIGNAL(clicked()), this, SLOT(slotClass()));


Название: Re: Кнопка из картинки
Отправлено: dangreen от Июня 23, 2011, 08:46
Можно так
Код
C++ (Qt)
   QPixmap *pix = new QPixmap(":/img.png");
   QPushButton *onButton = new QPushButton(this);
   onButton->setCursor(Qt::PointingHandCursor);
   onButton->setToolTip("Text");
   onButton->setIcon(*pix);
   onButton->setIconSize(QSize(pix->width(), pix->height()));
   onButton->setFixedSize(onButton->iconSize());
   onButton->setFlat(true);
   connect(onButton, SIGNAL(clicked()), this, SLOT(slotClass()));

а как мне это на форму перенести то?

вставил код в программу, положил кнопку и назвал ее onButton
Код:
Запускается /Users/dangreen/EasyKitAssistant-build-desktop/EasyKitAssistant.app/Contents/MacOS/EasyKitAssistant...
Object::connect: No such slot Wizard::slotClass() in ../EasyKitAssistant/wizard.cpp:21
Object::connect:  (receiver name: 'Wizard')
/Users/dangreen/EasyKitAssistant-build-desktop/EasyKitAssistant.app/Contents/MacOS/EasyKitAssistant завершился с кодом 0


А ты приведи пример картинки  :) Вообще можно много чем пользоваться StyleSheet например или рисовать руками

http://puu.sh/2MRz



Название: Re: Кнопка из картинки
Отправлено: ecspertiza от Июня 23, 2011, 10:21
Вот еще один пример (зри в аттаче). Если ты хочешь использовать свои кнопки в дизайнере , то читай вот эту статью http://forum.try-catch.ru/topic_294_0.html


Название: Re: Кнопка из картинки
Отправлено: kambala от Июня 23, 2011, 11:18
Object::connect: No such slot Wizard::slotClass() in ../EasyKitAssistant/wizard.cpp:21
ну так вместо slotClass() надо вставить свой какой-то слот, который будет вызываться при нажатии на кнопку
Вот еще один пример (зри в аттаче). Если ты хочешь использовать свои кнопки в дизайнере , то читай вот эту статью http://forum.try-catch.ru/topic_294_0.html
The requested URL /topic_294_0.html was not found on this server.


Название: Re: Кнопка из картинки
Отправлено: ecspertiza от Июня 23, 2011, 11:27
Код:
kambala
вроде как админам писали насчет того что ссылки бьються, но видимо еще не успели поправить

http://forum.try-catch.ru/ index.php ? topic=294.0

только без пробелов


Название: Re: Кнопка из картинки
Отправлено: dangreen от Июня 23, 2011, 11:59
Вот еще один пример (зри в аттаче). Если ты хочешь использовать свои кнопки в дизайнере , то читай вот эту статью http://forum.try-catch.ru/topic_294_0.html

вот спасибо огромнейшее!


Название: Re: Кнопка из картинки
Отправлено: dangreen от Июня 23, 2011, 12:18
у меня Wizard а не MainWindow

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


Название: Re: Кнопка из картинки
Отправлено: ecspertiza от Июня 23, 2011, 12:27
ну тут уж без знаний Qt тебе никуда  :) Wizard состоит из виджетов, ты эту кнопку можешь поместить на любой виджет просто указав нужного родителя.


Название: Re: Кнопка из картинки
Отправлено: dangreen от Июня 23, 2011, 12:30
ну тут уж без знаний Qt тебе никуда  :) Wizard состоит из виджетов, ты эту кнопку можешь поместить на любой виджет просто указав нужного родителя.

так вот каким образом то поместить?


Название: Re: Кнопка из картинки
Отправлено: iks от Июня 23, 2011, 20:33
так вот каким образом то поместить?
Что именно то, а вообще
Код
C++ (Qt)
QPushButton *onButton = new QPushButton(this);
где this (вместо него можете указать другой widget) родитель и можем переместить кнопку по родителю
Код
C++ (Qt)
onButton->move(x, y);
но это само собой грубо.
А вообще читайте Макс Шлее - Qt 4.5. Профессиональное программирование на C++ (2010) или что-то другое, разбирайтесь в основах, иначе долго будете понимать что к чему.


Название: Re: Кнопка из картинки
Отправлено: Igors от Июня 23, 2011, 21:40
А вообще читайте Макс Шлее - Qt 4.5. Профессиональное программирование на C++ (2010) или что-то другое, разбирайтесь в основах, иначе долго будете понимать что к чему.
Профессионал - не значит "крутой", "много понимает" и.т.п. Это просто тот кто зарабатывает себе на жизнь своей профессией. Я вот например (тупой) профессионал и рекомендуемой книги не читал - и не пытаюсь критиковать чего не знаю. Просто профессионализм и книга никак не связаны  :)


Название: Re: Кнопка из картинки
Отправлено: iks от Июня 24, 2011, 09:25
А вообще читайте Макс Шлее - Qt 4.5. Профессиональное программирование на C++ (2010) или что-то другое, разбирайтесь в основах, иначе долго будете понимать что к чему.
Профессионал - не значит "крутой", "много понимает" и.т.п. Это просто тот кто зарабатывает себе на жизнь своей профессией. Я вот например (тупой) профессионал и рекомендуемой книги не читал - и не пытаюсь критиковать чего не знаю. Просто профессионализм и книга никак не связаны  :)
Ну критики небыло, был совет, так что не надо батон крошить =) и тем болеее не говорю что крутой, а по поводу книги
Цитировать
или что-то другое
Шлее была первая пришедшая в голову. Просто если узнать азы отпадут многие вопросы, и если уж считаете себя
Цитировать
Я вот например (тупой) профессионал
то наверника когда сами начинали изучение, что-то читали, или кто-то показывал.