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

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

Страниц: 1 [2]   Вниз
  Печать  
Автор Тема: Непоняточка с кнопкой  (Прочитано 9619 раз)
ixtorio
Гость
« Ответ #15 : Апрель 07, 2011, 08:13 »

еще вопрос ,мне надо чтоб по нажатию на кнопку , вываливался месадж бокс,делаю так
Код
C++ (Qt)
#include <QMessageBox>
#include "mainwindow.h"
#include "ui_mainwindow.h"
 
 
MainWindow::MainWindow(QWidget *parent) :
   QMainWindow(parent),
   ui(new Ui::MainWindow)
{
   ui->setupUi(this);
}
 
MainWindow::~MainWindow()
{
   delete ui;
}
 
void MainWindow::on_sendBtn_clicked()
{
   QMessageBox msgBox;
   msgBox->setText("TEST");
   msgBox->exec();
}
 
, а он мне ошибку выдает вот такую
Код
C++ (Qt)
base operand of '->' has non-pointer type 'QMessageBox'
 
код взял отсюда из примера http://notesofprogrammer.blogspot.com/2010/03/messagebox-qt.html
Записан
Hellraiser
Бывалый
*****
Offline Offline

Сообщений: 451


Просмотр профиля
« Ответ #16 : Апрель 07, 2011, 08:17 »

А не смутило, что в во взятом коде нет "->", а есть "."?
Записан
ixtorio
Гость
« Ответ #17 : Апрель 07, 2011, 08:18 »

блин какойже я не внимательный=(,спасибо товарищь...
Записан
Hellraiser
Бывалый
*****
Offline Offline

Сообщений: 451


Просмотр профиля
« Ответ #18 : Апрель 07, 2011, 08:19 »

Это не невнимательность, это абсолютное незнание языка.
Записан
ixtorio
Гость
« Ответ #19 : Апрель 07, 2011, 08:45 »

не обессутьте но я только начинаю разбираться нормально в с++ и ооп...возникают вопросы.. а объяснения в книгах я не всегда понимаю...
вот например вопрос такой что такое Abcd в двух случаях
1 Abcd->text
2 Abcd.text

тоесть кем Abcd выступает в этих ролях и кем text ,объектом,классом,методом,структурой...совсем запутался я вовсех этих символизмах
Записан
Пантер
Administrator
Джедай : наставник для всех
*****
Offline Offline

Сообщений: 5876


Жаждущий знаний


Просмотр профиля WWW
« Ответ #20 : Апрель 07, 2011, 09:06 »

1. Abcd - указатель на объект класса, созданного в куче.
2. Abcd - объект класса, созданного на стеке.

text - член класса.
В с++ класс = структура
Записан

1. Qt - Qt Development Frameworks; QT - QuickTime
2. Не используйте в исходниках символы кириллицы!!!
3. Пользуйтесь тегом code при оформлении сообщений.
Hellraiser
Бывалый
*****
Offline Offline

Сообщений: 451


Просмотр профиля
« Ответ #21 : Апрель 07, 2011, 09:07 »

Читаем слева-направо. Abcd, в первую очередь, переменная (для варианта 1 - указатель на переменную). Тип ее надо смотреть по объявлению. Можно предположить (судя по записи), что это объект класса (или структуры). Стрелка для указателя на объект, точка - для самого объекта. Используются для адресации к элементу объекта, т.е. данным или методам. Т.к. после "text" нет скобок, то это данные (переменная класса). В C/C++ все функции, даже не имеющие параметров, должны писаться со скобками после имени. text - переменная, text() - функция. Для изучения - Г. Шилдт С++. Руководство для начинающих. Г. Шилдт С++. Базовый курс. Б.Страуструп Язык программирования С++. Все это есть весьма приличного качества в сети.
Записан
ixtorio
Гость
« Ответ #22 : Апрель 07, 2011, 09:09 »

ок спасибо,качаю книги и опять начинаю погружаться=)
Записан
Пантер
Administrator
Джедай : наставник для всех
*****
Offline Offline

Сообщений: 5876


Жаждущий знаний


Просмотр профиля WWW
« Ответ #23 : Апрель 07, 2011, 09:12 »

Шилдта не читал. Б.Страуструп автор классный, но для новичка будет тяжело (проверено на одногруппнике). Есть еще Лафоре, но качество книги (не помню точно название) было ужасное (множество очепяток). Тут где-то была прикрепленная темя со списком литературы, поищи.
Записан

1. Qt - Qt Development Frameworks; QT - QuickTime
2. Не используйте в исходниках символы кириллицы!!!
3. Пользуйтесь тегом code при оформлении сообщений.
Fat-Zer
Гость
« Ответ #24 : Апрель 07, 2011, 09:30 »

1. Abcd - указатель на объект класса, созданного в куче.
2. Abcd - объект класса, созданного на стеке.
только про то, где-что было создано надо поосторожней говорить... и первый может лажать на стеке и второй может быть ссылкой на то, что лежит в куче...

и ещё: первое может быть и объектом, для которого перегружен оператор->, так что тут есть много тонкостей...

ЗЫ: по литературе ещё Липмана можно, как большой толстый справочник
Записан
Пантер
Administrator
Джедай : наставник для всех
*****
Offline Offline

Сообщений: 5876


Жаждущий знаний


Просмотр профиля WWW
« Ответ #25 : Апрель 07, 2011, 09:31 »

1. Abcd - указатель на объект класса, созданного в куче.
2. Abcd - объект класса, созданного на стеке.
только про то, где-что было создано надо поосторожней говорить... и первый может лажать на стеке и второй может быть ссылкой на то, что лежит в куче...

и ещё: первое может быть и объектом, для которого перегружен оператор->, так что тут есть много тонкостей...
Ну, это ты уже полез в дебри. Улыбающийся Я же для новичка писал.
Записан

1. Qt - Qt Development Frameworks; QT - QuickTime
2. Не используйте в исходниках символы кириллицы!!!
3. Пользуйтесь тегом code при оформлении сообщений.
Страниц: 1 [2]   Вверх
  Печать  
 
Перейти в:  


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