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

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

Страниц: [1] 2 3 ... 10   Вниз
  Печать  
Автор Тема: Моё первое приложение  (Прочитано 65441 раз)
PinkPink
Гость
« : Март 24, 2012, 13:45 »

Здравствуйте!
Собираюсь писать курсовую на Qt, но мы его не изучали. Курсовая очень трудоёмкая так-что придётся заниматься написанием программы и изучением Qt одновременно. Буду просить понемногу помощи и так по кусочкам соберу своё приложение.
На данный момент встала такая задача:
В текстовом поле ставим курсор мыши в любое место текста, имеется определённая кнопка. Нужно, чтобы по нажатию данной кнопки в текстовое поле, там где стоит курсор вводился определённый текст, привязанный к этой кнопке. Как можно реализовать эту задачу?
Только пожалуйста по-подробнее, что и куда писать?
1. кинула на главное окно textEdit
2. кинула pushButton
Подскажите что и куда писать дальше? Если эта задача не слишком сложная для вас
Записан
Blackwanderer
Гость
« Ответ #1 : Март 24, 2012, 13:59 »

QTextCursor QTextEdit::textCursor () const
void QTextCursor::insertText( const QString & text )
Записан
PinkPink
Гость
« Ответ #2 : Март 24, 2012, 14:06 »

Я думаю так:
Нужно сначала как то привязать к кнопке определённый текст. Возможно есть какие-то идеи. Например, какой-нибудь параметр Value. т.е. не имя кнопки, а именно её значение.
Потом нужно получить положение курсора или даже не курсора, а вертикальная черта такая в тексте, которую вы устанавливаете кликнув левой кнопкой мыши по определённому месту в тексте.
Затем обратиться к текстовому полю по вычисленным координатам и добавить туда текст. Вот тут вопрос.. Так как я не знакома особо с Qt не могу сказать есть ли какой-то вариант непосредственно в текст вставить значение, в само поле. Либо нужно вытащить введённый текст из поля, определить между какими словами стоял курсор, вставить текст между этими символами и загрузить обратно... мм у кого какие идеи?
Записан
PinkPink
Гость
« Ответ #3 : Март 24, 2012, 14:07 »

QTextCursor QTextEdit::textCursor () const
void QTextCursor::insertText( const QString & text )
простите, можно по-подробнее? За что отвечает каждая строчка?
Записан
V1KT0P
Гость
« Ответ #4 : Март 24, 2012, 14:13 »

QTextCursor QTextEdit::textCursor () const
void QTextCursor::insertText( const QString & text )
простите, можно по-подробнее? За что отвечает каждая строчка?
Вот как оно работает: http://rghost.ru/37193915. А за что отвечает каждая строчка смотри в документации по Qt4.
Записан
PinkPink
Гость
« Ответ #5 : Март 24, 2012, 14:15 »

где можно документацию по Qt посмотреть?
Записан
V1KT0P
Гость
« Ответ #6 : Март 24, 2012, 14:16 »

где можно документацию по Qt посмотреть?
http://qt-project.org/doc/qt-4.8/
Частично переведенный на русский: http://doc.crossplatform.ru/qt/4.7.x/html-qt/index.html
Записан
PinkPink
Гость
« Ответ #7 : Март 24, 2012, 14:18 »

спасибо, за пример, но всё же, можно ли этот самый вставляемый текст привязать к кнопке?
значение кнопки должно быть вшитым в программу
Записан
PinkPink
Гость
« Ответ #8 : Март 24, 2012, 14:21 »

хм.. можно в принципе написать какое-нибудь условие, что если такая-то кнопка нажата, то вставить это "...", если такая то вот это "...".
Проблема лишь в том, что подобных кнопок может быть порядка 20ти и данный способ по-просту глупый. По-моему. Желательно бы эти кнопки в выпадающий список. Как на панели любого приложения типа "Файл", тыкаешь и появляется множество других строчек.
Записан
V1KT0P
Гость
« Ответ #9 : Март 24, 2012, 14:23 »

спасибо, за пример, но всё же, можно ли этот самый вставляемый текст привязать к кнопке?
значение кнопки должно быть вшитым в программу
хм.. можно в принципе написать какое-нибудь условие, что если такая-то кнопка нажата, то вставить это "...", если такая то вот это "...".
Проблема лишь в том, что подобных кнопок может быть порядка 20ти и данный способ по-просту глупый. По-моему. Желательно бы эти кнопки в выпадающий список. Как на панели любого приложения типа "Файл", тыкаешь и появляется множество других строчек.
После этих сообщений затаились сомнения, может тебе сначала надо С++ изучить?
Записан
PinkPink
Гость
« Ответ #10 : Март 24, 2012, 14:28 »

спасибо, за пример, но всё же, можно ли этот самый вставляемый текст привязать к кнопке?
значение кнопки должно быть вшитым в программу
хм.. можно в принципе написать какое-нибудь условие, что если такая-то кнопка нажата, то вставить это "...", если такая то вот это "...".
Проблема лишь в том, что подобных кнопок может быть порядка 20ти и данный способ по-просту глупый. По-моему. Желательно бы эти кнопки в выпадающий список. Как на панели любого приложения типа "Файл", тыкаешь и появляется множество других строчек.
После этих сообщений затаились сомнения, может тебе сначала надо С++ изучить?

Я изучаю C++ параллельно. И я не говорила, что я его знаю. Я учусь на 2ом курсе, у нас всё это только началось. В голове есть некоторое представление, достаточно туманное, но по-моему представлению достаточное для новичка. Если-бы ориентировалась в программировании немного лучше, мне бы хватило книг. А так мне нужна помощь(
Записан
Blackwanderer
Гость
« Ответ #11 : Март 24, 2012, 14:33 »

простите, можно по-подробнее? За что отвечает каждая строчка?
Первая функция сообщает вам позицию курсора, вторая - вставляет текст в эту позицию.
И небольшой дружеский совет: если вы действительно рассчитваете получить здесь долгосрочную и обстоятельную помощь, то
1) Изложите всю задачу поподробнее. На вопросы типа "какую библиотечную функцию вызвать, чтобы сделать то-то" большинству будет просто скучно отвечать
2) Если вы будете задавайте вопросы в стиле "Как нарисовать сову?", то и ответы будете получать соответствующие. Вопросы должны быть конкретными и локальными, подразумавающими ответ в несколько строчек, максимум абзацев.
3) Чётко обозначьте свои знания и что конкретно вы ждёте от сообщества.
Необходимо, чтобы вы чётко понимали, что сообщество - это не учитель, а советчик. В нужное русло вас всегда будут рады направить, но разжёвывать каждый элементарный шаг - нет.
Записан
PinkPink
Гость
« Ответ #12 : Март 24, 2012, 14:34 »

Насчёт value я так делала на php, как здесь такое реализовать не знаю. Если я сморозила глупость - извините, но объясните. Я не собираюсь ныть - "сделайте за меня". Я хочу понять. Поэтому, не обладая достаточными знаниями как минимум выдвигаю идеи, чтобы мы могли вместе по рассуждать. Или я не правильно поступаю?
Записан
PinkPink
Гость
« Ответ #13 : Март 24, 2012, 14:40 »

простите, можно по-подробнее? За что отвечает каждая строчка?
Первая функция сообщает вам позицию курсора, вторая - вставляет текст в эту позицию.
И небольшой дружеский совет: если вы действительно рассчитваете получить здесь долгосрочную и обстоятельную помощь, то
1) Изложите всю задачу поподробнее. На вопросы типа "какую библиотечную функцию вызвать, чтобы сделать то-то" большинству будет просто скучно отвечать
2) Если вы будете задавайте вопросы в стиле "Как нарисовать сову?", то и ответы будете получать соответствующие. Вопросы должны быть конкретными и локальными, подразумавающими ответ в несколько строчек, максимум абзацев.
3) Чётко обозначьте свои знания и что конкретно вы ждёте от сообщества.
Необходимо, чтобы вы чётко понимали, что сообщество - это не учитель, а советчик. В нужное русло вас всегда будут рады направить, но разжёвывать каждый элементарный шаг - нет.
Я просто не хотела никого напрягать вопросами типа "вот задание, помогите! сделайте!". Поэтому и задала более простой вопрос, который меня поставил в тупик.
Ну как я могу обозначить свои знания? С++ учим с этого года. Qt вообще не проходили, вчера установила программу( еле-еле) Qt Creator.
Если инетересно, могу рассказать, что из себя представляет задача в целом. Не для того, чтобы вы кинулись мне помогать, а просто если вам интересно.
P.S. книги читаю, ищу, смотрю. В институте проходить Qt  и не будем. Но писать на нём обязаны
Записан
PinkPink
Гость
« Ответ #14 : Март 24, 2012, 14:42 »

Делаю всё, что могу, не ленюсь, хочу могу и буду учить.
А не сидеть и надеяться когда за меня сделают. Если вы готовы помочь человеку, который не знает, но хочет знать, буду очень благодарна
Записан
Страниц: [1] 2 3 ... 10   Вверх
  Печать  
 
Перейти в:  


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