Russian Qt Forum
Май 15, 2024, 07:24 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
 
  Начало   Форум  WIKI (Вики)FAQ Помощь Поиск Войти Регистрация  

Страниц: [1]   Вниз
  Печать  
Автор Тема: как обращаться к элементам на главном окне???  (Прочитано 4882 раз)
Racot
Гость
« : Ноябрь 22, 2011, 20:13 »

Вопрос от чайника........ Обеспокоенный
Я создал пустой прокт в QTCreator с MainWindow......Положил на форму одну кнопочку......и как  мне обратиться к этой кнопке??? в смысле поменять её свойства......вызвать её методы.....
все данные о кнопке только в *.ui файле......в коде нигде не видно.....((

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

int main(int argc, char *argv[])
{
    QApplication a(argc, argv);
    MainWindow w;
    w.show();
     

    return a.exec();
}

это мой main.cpp

вроде же кнопка лежит на окне w ...... но w->  не даёт мне pushButton.......(((
Записан
kambala
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 4727



Просмотр профиля WWW
« Ответ #1 : Ноябрь 22, 2011, 20:26 »

в классе MainWindow скорее всего есть поле под названием ui - через него и получать доступ к элементам формы: ui.pushButton или ui->pushButton (второй случай - если ui является указателем)
Записан

Изучением C++ вымощена дорога в Qt.

UTF-8 has been around since 1993 and Unicode 2.0 since 1996; if you have created any 8-bit character content since 1996 in anything other than UTF-8, then I hate you. © Matt Gallagher
LisandreL
Птица говорун
*****
Offline Offline

Сообщений: 984


Надо улыбаться


Просмотр профиля
« Ответ #2 : Ноябрь 22, 2011, 20:30 »

Но по умолчанию оно создаётся приватным.
Записан
Racot
Гость
« Ответ #3 : Ноябрь 22, 2011, 20:39 »

спасибо))))  делаю так w.ui->pushButton    ))))

только мне не совсем понятно что такое ui  Непонимающий w - это объект класса MainWindow ..... pushButton - это объект класса QpushButton.......а что такое ui мне не догнать В замешательстве

вот в файле mainwindow.cpp есть конструктор:

MainWindow::MainWindow(QWidget *parent) :
    QMainWindow(parent),
    ui(new Ui::MainWindow)
{
    ui->setupUi(this);
}

и вот эта запись мне не очень понятна((
 MainWindow::MainWindow(QWidget *parent) :
    QMainWindow(parent),
    ui(new Ui::MainWindow)
Записан
kambala
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 4727



Просмотр профиля WWW
« Ответ #4 : Ноябрь 22, 2011, 20:58 »

Ui::MainWindow - это класс-"обертка", в котором просто хранятся все те элементы, которые ты накидываешь на форму в дизайнере (ну и + там выставляются все их начальные свойства и осуществляется перевод строк, но сейчас тебе не нужно думать об этом Улыбающийся ), а ui - это указатель на объект этого класса. в констуркторе под него просто выделяется память, чтобы ты мог им пользоваться.
Записан

Изучением C++ вымощена дорога в Qt.

UTF-8 has been around since 1993 and Unicode 2.0 since 1996; if you have created any 8-bit character content since 1996 in anything other than UTF-8, then I hate you. © Matt Gallagher
Racot
Гость
« Ответ #5 : Ноябрь 22, 2011, 21:10 »

Спасибо ещё раз))) попробую разобраться))
Записан
kuzulis
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 2812


Просмотр профиля
« Ответ #6 : Ноябрь 22, 2011, 22:06 »

ТС, чтобы не было такого рода вопросов - нужно читать книжки.
Как минимум можно начать с Жасмин Бланшет, Марк Саммерфилд
Записан

ArchLinux x86_64 / Win10 64 bit
Igors
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 11445


Просмотр профиля
« Ответ #7 : Ноябрь 22, 2011, 22:23 »

ТС, чтобы не было такого рода вопросов - нужно читать книжки.
Как минимум можно начать с Жасмин Бланшет, Марк Саммерфилд
2Racot Как говорится "ничего личного" - но такими вопросами уже реально "задолбали" (мягко говоря). Мое личное мнение - надо сначала получить какой-то опыт прикладного программирования чтобы уметь ориентироваться в любой ситуации (принцип везде одинаков). А начинать сразу с формочек/дызайнеров - ничего доброго не выходит, потом все равно придется возвращаться к "азам", т.к. пропустить их не получится. Только будет болезненнее потому что в голове уже много "каши". В общем "тише едешь - дальше будешь"

kuzulis, ну и буквари пошли. "Жасмин" - баба что ли? Нет чтобы почитать Роберта Журдена (ото был букварь)
Записан
kambala
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 4727



Просмотр профиля WWW
« Ответ #8 : Ноябрь 22, 2011, 22:31 »

нет, это дядька
Записан

Изучением C++ вымощена дорога в Qt.

UTF-8 has been around since 1993 and Unicode 2.0 since 1996; if you have created any 8-bit character content since 1996 in anything other than UTF-8, then I hate you. © Matt Gallagher
Igors
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 11445


Просмотр профиля
« Ответ #9 : Ноябрь 23, 2011, 12:58 »

Спасибо за ссылку, посмотрел его фейс. Ну на "дядьку" он не очень тянет, так, субтильный паренек.. ("жасмин")
Записан
kuzulis
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 2812


Просмотр профиля
« Ответ #10 : Ноябрь 23, 2011, 13:01 »

Igors , а ты нам свою форку покажи. Посмотрим каков ты брутален!  Смеющийся
Записан

ArchLinux x86_64 / Win10 64 bit
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


Страница сгенерирована за 0.052 секунд. Запросов: 22.