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

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

Страниц: 1 [2] 3   Вниз
  Печать  
Автор Тема: Помощь при обучении (разработке)  (Прочитано 14625 раз)
dbprogs.ru
Гость
« Ответ #15 : Март 02, 2011, 17:09 »

Вот, вот, именно это я и пытался найти Улыбающийся ... Спасибо ...

p/s/ Думаю я скоро вернусь с  новыми вопросами Улыбающийся
Записан
кып
Гость
« Ответ #16 : Март 02, 2011, 19:26 »

Предлагаю немного усложнить задачу. Пусть программа подсчитывает символы/слова в тексте не по кнопке, а сразу по мере набора. Так интересней будет.  Улыбающийся
Записан
dbprogs.ru
Гость
« Ответ #17 : Март 02, 2011, 19:53 »

Сложнее код не станет, просто сменится обработчик (ну или как там правильно сказать Улыбающийся ) ...
Записан
meego_man
Гость
« Ответ #18 : Март 03, 2011, 00:15 »

Сложнее код не станет, просто сменится обработчик (ну или как там правильно сказать Улыбающийся ) ...
ну как сказать, тут нужно уже будет думать об оптимизации Подмигивающий
Записан
dbprogs.ru
Гость
« Ответ #19 : Март 03, 2011, 06:14 »

ну как сказать, тут нужно уже будет думать об оптимизации Подмигивающий

Да, об этом не подумал ...
Записан
alexman
Гость
« Ответ #20 : Март 03, 2011, 07:59 »

Предлагаю немного усложнить задачу. Пусть программа подсчитывает символы/слова в тексте не по кнопке, а сразу по мере набора. Так интересней будет.  Улыбающийся
Подсчет символов:
1. Храним отображение QMap<QChar,int> _cache - символ->количество.
2. При вводе для символа ch делаем: _cache[ch]++;

Подсчет слов:
1. Храним отображение QMap<QString,int> _cache - слово->количество.
2. Храним последнее введенное слово _lastText.
3. При вводе проверять:
 -если символ ch не разделитель, то: _lastText += ch;
 -если ch разделитель, то _cache[_lastText]++;_lastText.clear();

ЗЫ Конечно здесь учтены не все случаи.
« Последнее редактирование: Март 03, 2011, 08:01 от alexman » Записан
Igors
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 11445


Просмотр профиля
« Ответ #21 : Март 03, 2011, 12:56 »

Предлагаю немного усложнить задачу. Пусть программа подсчитывает символы/слова в тексте не по кнопке, а сразу по мере набора. Так интересней будет.  Улыбающийся
Подсчет символов:
1. Храним отображение QMap<QChar,int> _cache - символ->количество.
2. При вводе для символа ch делаем: _cache[ch]++;

Подсчет слов:
1. Храним отображение QMap<QString,int> _cache - слово->количество.
2. Храним последнее введенное слово _lastText.
3. При вводе проверять:
 -если символ ch не разделитель, то: _lastText += ch;
 -если ch разделитель, то _cache[_lastText]++;_lastText.clear();

ЗЫ Конечно здесь учтены не все случаи.
Хороший пример того смотря КАК делать  Улыбающийся
Если просто побаловаться (абы було) то, конечно, легко и приятно. А вот если надо, напр. на лету отследить вырезку/вставку блоков текста, undo и.т.п. - куда тогда девается весь энтузиазм/интерес?  Улыбающийся

Поэтому мое мнение - все эти учебные примеры дают очень мало, надо делать реальную задачу (желательно за деньги), хотя это (часто) трудно и неприятно

Записан
dbprogs.ru
Гость
« Ответ #22 : Март 03, 2011, 13:05 »

Такой вопрос, как обращаться к свойствам виджетов (дай Бог правильно написал Улыбающийся ) ?

Пример, есть форма, на ней кнопка, и label, что мне прописать в коде что-бы при нажатии на кнопку изменилось свойство text виджета label ?

void proba::on_pushButton_clicked()
{
    ............... Грустный
}

Или я вообще не в ту сторону копаю ? Улыбающийся
Записан
Пантер
Administrator
Джедай : наставник для всех
*****
Offline Offline

Сообщений: 5876


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


Просмотр профиля WWW
« Ответ #23 : Март 03, 2011, 13:07 »

В общем случае label->setText ("Some text"), могут быть вариации в зависимости от использования ui и метода включения этого ui.
Записан

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

В общем случае label->setText ("Some text"), могут быть вариации в зависимости от использования ui и метода включения этого ui.

А в конкретном ? Улыбающийся

этих label может-же быть и 100 штук на форме ...

Приведенный пример выдает 'label' was not declared in this scope
« Последнее редактирование: Март 03, 2011, 13:36 от dbprogs.ru » Записан
Пантер
Administrator
Джедай : наставник для всех
*****
Offline Offline

Сообщений: 5876


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


Просмотр профиля WWW
« Ответ #25 : Март 03, 2011, 13:34 »

Не видя h файла, сказать ничего не могу.
Записан

1. Qt - Qt Development Frameworks; QT - QuickTime
2. Не используйте в исходниках символы кириллицы!!!
3. Пользуйтесь тегом code при оформлении сообщений.
dbprogs.ru
Гость
« Ответ #26 : Март 03, 2011, 13:36 »

#ifndef PROBA_H
#define PROBA_H

#include <QMainWindow>

namespace Ui {
    class proba;
}

class proba : public QMainWindow
{
    Q_OBJECT

public:
    explicit proba(QWidget *parent = 0);
    ~proba();

private:
    Ui::proba *ui;

private slots:
    void on_pushButton_clicked();
};

#endif // PROBA_H
Записан
Пантер
Administrator
Джедай : наставник для всех
*****
Offline Offline

Сообщений: 5876


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


Просмотр профиля WWW
« Ответ #27 : Март 03, 2011, 13:37 »

В твоем случае ui->label->setText
Записан

1. Qt - Qt Development Frameworks; QT - QuickTime
2. Не используйте в исходниках символы кириллицы!!!
3. Пользуйтесь тегом code при оформлении сообщений.
dbprogs.ru
Гость
« Ответ #28 : Март 03, 2011, 13:42 »

В твоем случае ui->label->setText

работает ...

получается я передаю данные на форму, а та на лейбл ?

Я просто вспоминаю дни когда пытался кодить под Делфи, там по-моему, было немного проще. Есть объект, есть его свойства, все, указал объект, указал какие свойства изменить, и больше никаких забот, тут же все немного по другому ...
Записан
Пантер
Administrator
Джедай : наставник для всех
*****
Offline Offline

Сообщений: 5876


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


Просмотр профиля WWW
« Ответ #29 : Март 03, 2011, 13:45 »

ui - объект, на котором располагается другой объект (label), у которого есть свойство setText.

Тебе бы сначала с++ выучить, а потом уже за Qt браться.
Записан

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


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