crossplatform.ru

Здравствуйте, гость ( Вход | Регистрация )

5 страниц V  < 1 2 3 4 5 >  
Ответить в данную темуНачать новую тему
> Написание чата, с чего начать нубу?
breeve
  опции профиля:
сообщение 27.12.2009, 16:28
Сообщение #21


Участник
**

Группа: Участник
Сообщений: 188
Регистрация: 26.12.2009
Пользователь №: 1336

Спасибо сказали: 9 раз(а)




Репутация:   1  


вставил как вы сказали получилось вот так:
Раскрывающийся текст
#include "button.h"

Button::Button(QWidget *parent)
    : QWidget(parent)
{
    QTextEdit *ptxt1 = new QTextEdit;
    QTextEdit *ptxt2 = new QTextEdit;
    QPushButton *cmd = new QPushButton("Add");

    QHBoxLayout * MyHLayout = new QHBoxLayout;
    QVBoxLayout * MyVLayout = new QVBoxLayout;

    MyHLayout->setMargin(10);
    MyHLayout->setSpacing(20);
    MyHLayout->addWidget(ptxt2);
    MyHLayout->addWidget(cmd);

    MyVLayout->addWidget(ptxt1);
    MyVLayout->addLayout(MyHLayout);
    setLayout(MyVLayout);

    setWindowTitle("Test Chat");
    setGeometry(5,5, 200, 100);
    
    connect(cmd, SIGNAL(clicked()),
            this, SLOT(mySlot())
                     );

}

void Button::mySlot()
{
    qDebug() << "mySlot";
    ptxt1->selectAll();
    qDebug() << "selectAll";
    ptxt1->cut();
    qDebug() << "cut";
    ptxt2->paste();
    qDebug() << "paste";

}


Теперь он у меня просто выходит по нажатию кнопки и все.
А консоль просмотреть где можно? Пишу на Креаторе..
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
Litkevich Yuriy
  опции профиля:
сообщение 27.12.2009, 16:36
Сообщение #22


разработчик РЭА
*******

Группа: Сомодератор
Сообщений: 9669
Регистрация: 9.1.2008
Из: Тюмень
Пользователь №: 64

Спасибо сказали: 807 раз(а)




Репутация:   94  


Цитата(breeve @ 27.12.2009, 19:28) *
Пишу на Креаторе..
ну где-то там снизу есть консоль, я не в курсе
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
breeve
  опции профиля:
сообщение 27.12.2009, 16:38
Сообщение #23


Участник
**

Группа: Участник
Сообщений: 188
Регистрация: 26.12.2009
Пользователь №: 1336

Спасибо сказали: 9 раз(а)




Репутация:   1  


Снизу есть окошко называется Application Output:
Цитата
Starting /home/breeze/.qtProjects/button_two/button_two...
mySlot

The program has unexpectedly finished.

/home/breeze/.qtProjects/button_two/button_two exited with code 0

Вот что там выводится
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
BRE
  опции профиля:
сообщение 27.12.2009, 16:42
Сообщение #24


Профессионал
*****

Группа: Участник
Сообщений: 1112
Регистрация: 6.3.2009
Из: Ростов-на-Дону
Пользователь №: 591

Спасибо сказали: 264 раз(а)




Репутация:   44  


Измени конструктор:
Раскрывающийся текст
#include "button.h"

Button::Button(QWidget *parent)
    : QWidget(parent)
{
    ptxt1 = new QTextEdit;
    ptxt2 = new QTextEdit;
    cmd = new QPushButton("Add");

    QHBoxLayout * MyHLayout = new QHBoxLayout;
    QVBoxLayout * MyVLayout = new QVBoxLayout;

    MyHLayout->setMargin(10);
    MyHLayout->setSpacing(20);
    MyHLayout->addWidget(ptxt2);
    MyHLayout->addWidget(cmd);

    MyVLayout->addWidget(ptxt1);
    MyVLayout->addLayout(MyHLayout);
    setLayout(MyVLayout);

    setWindowTitle("Test Chat");
    setGeometry(5,5, 200, 100);
    
    connect(cmd, SIGNAL(clicked()),
            this, SLOT(mySlot())
                     );

}

и все заработает. ;)
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
Litkevich Yuriy
  опции профиля:
сообщение 27.12.2009, 16:47
Сообщение #25


разработчик РЭА
*******

Группа: Сомодератор
Сообщений: 9669
Регистрация: 9.1.2008
Из: Тюмень
Пользователь №: 64

Спасибо сказали: 807 раз(а)




Репутация:   94  


Цитата(BRE @ 27.12.2009, 19:42) *
Измени конструктор:
Да, правда.
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
breeve
  опции профиля:
сообщение 27.12.2009, 16:53
Сообщение #26


Участник
**

Группа: Участник
Сообщений: 188
Регистрация: 26.12.2009
Пользователь №: 1336

Спасибо сказали: 9 раз(а)




Репутация:   1  


да все заработало.. Но есть одно неудобство.. он вставляет не в верхнее окно, а в нижнее..
т.е пишу ляля, нажимаю add и снизу получается:
ляляляля
))

нене.. гоню.. он вставляет не то что я туда ввел а то что сейчас у меня в буфере обмена..

Ооо.. Всем спасибо.. я поменял название textEdit'ов и все заработало))
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
Litkevich Yuriy
  опции профиля:
сообщение 27.12.2009, 16:54
Сообщение #27


разработчик РЭА
*******

Группа: Сомодератор
Сообщений: 9669
Регистрация: 9.1.2008
Из: Тюмень
Пользователь №: 64

Спасибо сказали: 807 раз(а)




Репутация:   94  


Цитата(breeve @ 27.12.2009, 19:49) *
а то что сейчас у меня в буфере обмена..
угу.
Я привёл простейший способ. Теперь тебе нужно усовершенствовать код. Брать текст явно из QTextEdit'а, и явно его помещать в другой.

breeve, ты понял суть ошибки в конструкторе?
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
breeve
  опции профиля:
сообщение 27.12.2009, 16:58
Сообщение #28


Участник
**

Группа: Участник
Сообщений: 188
Регистрация: 26.12.2009
Пользователь №: 1336

Спасибо сказали: 9 раз(а)




Репутация:   1  


Цитата(Litkevich Yuriy @ 27.12.2009, 16:54) *
Цитата(breeve @ 27.12.2009, 19:49) *
а то что сейчас у меня в буфере обмена..
угу.
Я привёл простейший способ. Теперь тебе нужно усовершенствовать код. Брать текст явно из QTextEdit'а, и явно его помещать в другой.

breeve, ты понял суть ошибки в конструкторе?

Понял, я создавал текстЕдит как новый не тот что я объявлял в хидере..
Ага а усовершенствовать это да.. Мне бы еще узнать как биндить клавишу ентер и все будет отлично)
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
Litkevich Yuriy
  опции профиля:
сообщение 27.12.2009, 17:05
Сообщение #29


разработчик РЭА
*******

Группа: Сомодератор
Сообщений: 9669
Регистрация: 9.1.2008
Из: Тюмень
Пользователь №: 64

Спасибо сказали: 807 раз(а)




Репутация:   94  


Цитата(breeve @ 27.12.2009, 19:58) *
Мне бы еще узнать как биндить клавишу ентер и все будет отлично)
оставь её на потом. А сейчас займись, тем, без чего чат не чат. Т.е. корректным отображением текста в журнальном поле (верхнем), чтобы там и символ ">" был и копирование было без буфера обмена.


По поводу перехвата клавиши "Enter" - это отдельная тема, она достаточно независима. Мало того тема такая поднималась.
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
breeve
  опции профиля:
сообщение 27.12.2009, 17:06
Сообщение #30


Участник
**

Группа: Участник
Сообщений: 188
Регистрация: 26.12.2009
Пользователь №: 1336

Спасибо сказали: 9 раз(а)




Репутация:   1  


Только еще я не очень понимаю как явно передать из одного другому не через буфер..
Т.е как я думаю, это значит присвоить какой-нибудь строке содержимое первого текст едита..
потом во втором просто вывести эту строку)
можно ли сделать так:
QString str=ptxt1 -> text();
ptxt2 ->insertPlainText(str);
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение

5 страниц V  < 1 2 3 4 5 >
Быстрый ответОтветить в данную темуНачать новую тему
Теги
Нет тегов для показа


1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0




RSS Текстовая версия Сейчас: 27.4.2024, 19:55