Поиск:

Ответ в темуСоздание новой темы Создание опроса
> расположение кнопки. 
:(
    Опции темы
duckich
Дата 19.4.2009, 15:17 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 14
Регистрация: 7.12.2008

Репутация: нет
Всего: нет



С Qt вообще не знаком, только начинаю изучать. Времени самому искать не особо много.

Как поместить кнопку именно туда куда я хочу и задать размер кнопки? И ещё я хочу чтоб не кнопка была, а просто некая область фона стала как кнопка.

Знаю, что надо засунуть 3 кнопки в Вертикальный лейаут, но не знаю как его размер задать и координаты расположения, а также кнопки при внесении в лейаут становятся уже чем были(в Qt дизайнере); тогда как, если возможно перемещение и уменьшение лейаута, отдельно задавать размер кнопок. Или скажите свои соображения, если мои не верны.
пока что у меня только так:

Код

#include <QtGui/QApplication>
#include "project.h"
#include <QtGui>

// ----------------------------------------------------------------------
int main(int argc, char** argv)
{
    QApplication app(argc, argv);
    QWidget      wgt;

    QWidget* pwgt2 = new QWidget(&wgt);
    QPalette pal2;
    pal2.setBrush(pwgt2->backgroundRole(), QBrush(QPixmap("Bomb1.bmp")));
    pwgt2->setPalette(pal2);
    pwgt2->resize(563, 447);
    pwgt2->setAutoFillBackground(true);
    wgt.setFixedSize ( 563, 447);

    QPushButton* pcmdN = new QCommandLinkButton("&Play game");

    QPushButton* pcmdT = new QCommandLinkButton("&Options");
   
    QPushButton* pcmdF = new QCommandLinkButton("&Instructions");
    
       //Layout setup
    QVBoxLayout* pvbxLayout = new QVBoxLayout;
    pvbxLayout->addWidget(pcmdN);    
    pvbxLayout->addWidget(pcmdT);
    pvbxLayout->addWidget(pcmdFl); 
    wgt.setLayout(pvbxLayout);
    wgt.show();




P.S: Не хочу пользоваться дизайнером, тк ближе написать код и посмотреть что получается.

Это сообщение отредактировал(а) duckich - 19.4.2009, 15:19
PM MAIL   Вверх
SABROG
Дата 19.4.2009, 20:09 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Hacker
****


Профиль
Группа: Завсегдатай
Сообщений: 2481
Регистрация: 18.9.2006

Репутация: 81
Всего: 91



Цитата(duckich @  19.4.2009,  15:17 Найти цитируемый пост)
Как поместить кнопку именно туда куда я хочу и задать размер кнопки?

Код

button->setGeometry(x, y, width, height
);

Цитата(duckich @  19.4.2009,  15:17 Найти цитируемый пост)
И ещё я хочу чтоб не кнопка была, а просто некая область фона стала как кнопка.

Код

void QWidget::mousePressEvent ( QMouseEvent * event )
void QWidget::mouseReleaseEvent ( QMouseEvent * event )
void QWidget::keyPressEvent ( QKeyEvent * event )
void QWidget::keyReleaseEvent ( QKeyEvent * event )
и т.д...



Цитата(duckich @  19.4.2009,  15:17 Найти цитируемый пост)
Знаю, что надо засунуть 3 кнопки в Вертикальный лейаут, но не знаю как его размер задать и координаты расположения

Нельзя задать размеры компановщика, это абстракция. Его координаты и размеры зависят от его функции и количества элементов в нем, а также от функции компановщика находящегося под ним, если это дочерний компановщик.


--------------------
Национальная группа Russian Federation на QtCentre.
PM MAIL   Вверх
duckich
Дата 19.4.2009, 21:41 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 14
Регистрация: 7.12.2008

Репутация: нет
Всего: нет



Цитата

button->setGeometry(x, y, width, height);


Может я что-то не понял, но я сделал так:

Код

QPushButton* pcmdNormal = new QPushButton("&Play game");
    pcmdNormal->setGeometry(110, 90, 75, 23);


А чтобы показать кнопку надо её в лейаут запихнуть или он вообще не нужен и просто 3 кнопки разместить в трёх разных местах.

Это сообщение отредактировал(а) duckich - 19.4.2009, 22:36
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "С/С++: Кроссплатформенное программирование, QT/Gtk+/wxWidgets"
JackYF
Любитель
  • В заголовке темы в квадратных скобках обозначьте используемую вами библиотеку, например: [QT],[GTK],[wx].
  • Если вопрос актуален только для некоторой версии библиотеки, либо, если вы пользуетесь не самой последней версией, укажите это. Например: [QT4], [GTK2].
  • Все начинающие изучать Qt - не забудьте зайти сюда.
  • Проставьте несколько ключевых слов темы, чтобы её можно было легче найти.
  • В вопросе укажите полную версию версию библиотеки, а также все дополнительные используемые программные пакеты.
  • Не забывайте пользоваться кнопкой "Код".
  • Телепатов на форуме нет! Задавайте чёткий, конкретный и полный вопрос. Указывайте полностью ошибки компилятора и компоновщика.
  • Новое сообщение должно иметь прямое отношение к тематике этого раздела. Флуд, флейм, оффтопик запрещены.
  • Категорически запрещается обсуждение вареза, "кряков", взлома программ и т.д.

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, JackYF, Любитель.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | С/С++: Кроссплатформенное программирование, Qt/Gtk+/wxWidgets | Следующая тема »


 




[ Время генерации скрипта: 0.0714 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.