Написание чата, с чего начать нубу? |
Здравствуйте, гость ( Вход | Регистрация )
Написание чата, с чего начать нубу? |
Litkevich Yuriy |
26.12.2009, 23:22
Сообщение
#11
|
разработчик РЭА Группа: Сомодератор Сообщений: 9669 Регистрация: 9.1.2008 Из: Тюмень Пользователь №: 64 Спасибо сказали: 807 раз(а) Репутация: 94 |
|
|
|
MoPDoBoPoT |
26.12.2009, 23:27
Сообщение
#12
|
Участник Группа: Участник Сообщений: 172 Регистрация: 7.5.2009 Из: Москва Пользователь №: 738 Спасибо сказали: 44 раз(а) Репутация: 9 |
Спасибо конечно.. но я их делал) Хех. Делал - это как? Собрал проект, потыркался в проге и все? Как сделать так чтобы я писал в ptxt2 нажимал ентер а он выводил сверху? Без наследования никак. Разберись с сигнал-слотами. В книге у Шлее есть на эту тему простенький пример "Counter". |
|
|
Litkevich Yuriy |
26.12.2009, 23:29
Сообщение
#13
|
разработчик РЭА Группа: Сомодератор Сообщений: 9669 Регистрация: 9.1.2008 Из: Тюмень Пользователь №: 64 Спасибо сказали: 807 раз(а) Репутация: 94 |
тебе нужно создать класс-окно. Т.е. делаешь наследника от QWidget, в него помещаешь почти всё содержимое main.
У QTextEdit есть сигнал textChanged() и есть слоты: selectAll() cut () paste () идея такая: соеденяешь сигнал textChanged() QTextEdit'а нижнего со слотом своего окна (надо его создать) В слоте делаешь последовательно для этого QTextEdit'а textedit1->selectAll() textedit1->cut () и вставляешь во второй: textedit2->paste () |
|
|
breeve |
26.12.2009, 23:50
Сообщение
#14
|
Участник Группа: Участник Сообщений: 188 Регистрация: 26.12.2009 Пользователь №: 1336 Спасибо сказали: 9 раз(а) Репутация: 1 |
ну допустим как вывести это я более или менее понял посмотрел про qtextdoc в ассистенте..
Как забиндить ентер.. и как мне считать с textedit'а вот допустим setPlainText как я понял вставляет туда текст.. А есть ли getPlainText))? ну допустим как вывести это я более или менее понял посмотрел про qtextdoc в ассистенте.. Как забиндить ентер.. и как мне считать с textedit'а вот допустим setPlainText как я понял вставляет туда текст.. А есть ли getPlainText))? Чет не заметил я вторую страничку.. |
|
|
breeve |
27.12.2009, 11:01
Сообщение
#15
|
Участник Группа: Участник Сообщений: 188 Регистрация: 26.12.2009 Пользователь №: 1336 Спасибо сказали: 9 раз(а) Репутация: 1 |
тебе нужно создать класс-окно. Т.е. делаешь наследника от QWidget, в него помещаешь почти всё содержимое main. У QTextEdit есть сигнал textChanged() и есть слоты: selectAll() cut () paste () идея такая: соеденяешь сигнал textChanged() QTextEdit'а нижнего со слотом своего окна (надо его создать) В слоте делаешь последовательно для этого QTextEdit'а textedit1->selectAll() textedit1->cut () и вставляешь во второй: textedit2->paste () Алгоритм я понял.. вот сделал как сказали.. Переделал все под класс.. только что мне писать в объявлении TextChanged(), selectAll(), cut(), и paste()? |
|
|
breeve |
27.12.2009, 12:37
Сообщение
#16
|
Участник Группа: Участник Сообщений: 188 Регистрация: 26.12.2009 Пользователь №: 1336 Спасибо сказали: 9 раз(а) Репутация: 1 |
Насчет TextChanged(), .. как я понял они стандартные.. и объявлять их не нужно.. Я тут нашел в книге про textEdit правда мало очень..
такой вопрос как забиндить клавишу? Вот этот textChanged() высылается при изменении текста.. если я сделаю в точности как сказал Litkevich Yuriy, у меня будет так: я печатаю букву "у" - текст изменился, он его весь выделил, вставил вверх.. печатаю след букву "м" происходит тоже самое.. и получается как зеркало что здесь то и там.. Если я конечно правильно понял.. Но мне надо не так.. мне надо чтобы я напечатал, нажал, он как приплюсовал к строке то что я тока что ввел.. т.е было: > Привет. // я ввел "Хай!" и нажал ентер и получилось > Привет. > Хай! |
|
|
breeve |
27.12.2009, 15:12
Сообщение
#17
|
Участник Группа: Участник Сообщений: 188 Регистрация: 26.12.2009 Пользователь №: 1336 Спасибо сказали: 9 раз(а) Репутация: 1 |
вот решил пока не заморачиваться насчет ентера сделать кнопку. вот код
main.cpp
button.cpp
button.h
Ввожу что-нибудь нажимаю на кнопку.. он виснет) |
|
|
Litkevich Yuriy |
27.12.2009, 16:15
Сообщение
#18
|
разработчик РЭА Группа: Сомодератор Сообщений: 9669 Регистрация: 9.1.2008 Из: Тюмень Пользователь №: 64 Спасибо сказали: 807 раз(а) Репутация: 94 |
зря ты класс назвал "кнопкой", ведь на кнопке нет полей ввода и т.д.
|
|
|
breeve |
27.12.2009, 16:17
Сообщение
#19
|
Участник Группа: Участник Сообщений: 188 Регистрация: 26.12.2009 Пользователь №: 1336 Спасибо сказали: 9 раз(а) Репутация: 1 |
|
|
|
Litkevich Yuriy |
27.12.2009, 16:22
Сообщение
#20
|
разработчик РЭА Группа: Сомодератор Сообщений: 9669 Регистрация: 9.1.2008 Из: Тюмень Пользователь №: 64 Спасибо сказали: 807 раз(а) Репутация: 94 |
для отладки в слот вставь qDebug(), например:
в pro-файл, добавь:CONFIG += console тогда в консоль, при отладочной сборке будут печататься эти строчки, так ты сможешь локализовать проблему. А какая разница как он назван? он же не является кнопкой то по сути... существенная, когда читаешь чужой код, а его милион строк может быть, то ориентируешся на имена. Я смотрю main.cpp, и не понимаю, а где у breeve окно, кнопку вижу, а дальше?
|
|
|
Текстовая версия | Сейчас: 24.4.2024, 15:49 |