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

Войти
 
  Начало Форум WIKI (Вики)FAQ Помощь Поиск Войти Регистрация  
  Просмотр сообщений
Страниц: 1 [2] 3 4 ... 23
16  Qt / Работа с сетью / Удаление QtcpSocket без закрытия дескриптора(соединения) : Декабрь 09, 2020, 22:10
Возможно ли удалить объект QtcpSocket при этом не закрывать само соединение.
Суть в том что я передаю sockedescriptor
QAbstractSocket::socketDescriptor() и соответственно QAbstractSocket::setSocketDescriptor()
между потоками и  создаю в треде QtcpSocket.
Тред работает и затем в конце работы он должен освободить сам QtcpSocket, при этом как бы не разрывая соединение
17  Qt / Пользовательский интерфейс (GUI) / Re: QGroupBox сделать полосу прокрутки : Ноябрь 04, 2020, 18:52
нет
18  Qt / Пользовательский интерфейс (GUI) / QGroupBox сделать полосу прокрутки : Ноябрь 03, 2020, 20:57
Здравствуйте задача нужно добавить полосу прокрутки(скролл) в groupbox в котором динамически создаются чекбоксы.
/
Код
C++ (Qt)
QVboxLayout *lk=new QVBoxLayout();
for (int i=0;i<10;i++)
{
    QCheckBox *chb=QCheckBox(QString::number(i));
    lk->addWidget(chb);
}
ui->GroupBox->setLayout(lk);
 
Скролл бар должен вести стандартно. В случае если растягиваем форму и умещаются все чекбоксы он должен пропадать, а если форму сужаем то появляться. Поведение как у QTableWidget по умолчанию
19  Qt / Вопросы новичков / Re: qfilesystemmodel и обновление данных в модели : Ноябрь 05, 2018, 16:17
Подумал и вроде бы решил вопрос частично. Теперь размер файлов обновляется при перезаходе в папку( а не только при перезапуске программы). Находимся в текущей папке допустим. меняем размер файлов из любого текстового редактора, переходим на каталог ниже, снова заходим в папку и вуаля размер файлов изменился.
с помощью вот такого костыля
Код
C++ (Qt)
QDir f;
f.rename(str,str+"1");
QApplication::processEvents();
f.rename(str+"1",str);
QApplication::processEvents();
 
//str-полный путь папки в которую осуществляется вход
 

https://bugreports.qt.io/browse/QTBUG-2276

20  Qt / Вопросы новичков / qfilesystemmodel и обновление данных в модели : Ноябрь 04, 2018, 20:04
Здравствуйте. Есть qfilesystemmodel в представлении qtableview. Собственно когда создаю и удалю каталоги то идет обновление данных.
допустим я захожу в определенную папку и там есть файл 0 байт. Я с помощью текстового редактора добавляю некоторый текст и  меняется  размер файла. Но почему-то в qtableview отображается по прежнему размер 0 байт и дата модификации не меняется. Переход в другой каталог и возвращение обратно не дает никакого эффекта. Только после перезапуска программы размер показывает уже новый.
Собственно что с этим можно сделать? qt 4.8
21  Qt / Вопросы новичков / Re: прорисовка в mdi : Октябрь 19, 2018, 21:02
merf2 наследник QWidget
если код
Код
C++ (Qt)
merf2 *mer=new merf2(0)
mer->show
 

то картина

при этом окно перемещается как за границы mdi так и за границы всего окна приложения

Код
C++ (Qt)
merf2 *mer=new merf2(this)
mer->show
 
то картина

то почему то виджет не прорисовывается когда я ему указываю наследника


Мне же нужно поведение чтобы все полностью прорисовывалось на не выходило за границы mdi
22  Qt / Вопросы новичков / прорисовка в mdi : Октябрь 17, 2018, 22:35
Здравствуйте. Есть вопрос по mdi приложению. Само приложение прикрепил. Смысл в том что когда я нажимаю на кнопку (button) появляется прогресс бар.Мне нужно сделать так чтобы в окне mdi прорисовывался прогресс бар(qwidget), но он почему-то не прорисовывается. В случае если я ставлю
Код
C++ (Qt)
merf2 *mer=new merf2(0)
То прогресс бар прорисовывается, но мне это не подходит тк этот прогресс бар получается гуляет по всему окну, а мне нужно чтобы он был в границе mdi
23  Qt / Вопросы новичков / Re: вопрос по qtcpsocket : Февраль 09, 2018, 11:47
Код
C++ (Qt)
   while ( !stream.atEnd() )
 
Я не использую qdatastream. Можно мне условие в цикле заменить?
24  Qt / Вопросы новичков / Re: вопрос по qtcpsocket : Февраль 09, 2018, 11:43
У вас packet_byte_count это размер одного пакета посылаемых write или это я как бы должен посчитать при отправке с сервера предварительно размер всех пакетов. Ведь я буду делать write в цикле for
25  Qt / Вопросы новичков / Re: вопрос по qtcpsocket : Февраль 09, 2018, 09:56
Это понятно что структура пакета у меня будет (размер+данные).
Вся проблема в том что если я в цикле посылаю 1500
Пакетов(делаю write) то мне же известен размер одного посылаемого пакета.
Далее я прочитал размер пакета(packsize)
Далее я жду пока поступят данные пакета затем учитывают их по вся проблема в то что пакеты склеиваются друг с другом и как их обрабатывать непонятно
26  Qt / Вопросы новичков / Re: вопрос по qtcpsocket : Февраль 09, 2018, 08:36
Как в примере qt. Client fortune example.
Я так понял что в начале нужно послать размер затем
Затем ждать чтоб весь пакет поступил в сокет . И только потом его прочитать.
27  Qt / Вопросы новичков / Re: вопрос по qtcpsocket : Февраль 08, 2018, 17:31
Я вас понял. Но как мне лучше организовать все это дело.
Смысл в том что я отсылаю команду серверу с параметром имя папки.
Сервер получает данную команду.
Он должен мне переслать имена файлов и папок в заданном каталоге(допустим каталог /usr/bin). Я получаю содержимое там порядка 1700 объектов)
1700 фалов грубо говоря каждый файл имеет длину 5 байт. В итоге мне нужно будет переслать порядка 20000 байт. Я так понял вы предлагаете мне сделать
Один qtcpsocket::write. В котором я сразу пошлю порядка 20000 байт?

Те я с сервака посылаю 20000 байт. А на клинте я тупо жду когда мне все эти байты придут и только потом когда получу все 20000 байт далее уже двигаться по коду...
28  Qt / Вопросы новичков / Re: вопрос по qtcpsocket : Февраль 07, 2018, 22:53
Код
C++ (Qt)
for (in t i=0;i<30;i++)
{
 
   socket->write(QByteArray::number(i));
   socket->flush();
   usleep(8000)
}
 

В принципе можно сделать задержу 8000 микросекунд =0,008 секунды с помощью usleep
но проблема в больших данных
Пример в данном случае на числах а я буду отсылать содержимое папок
Те допустим в папке /usr/bin содержится много файлов у меня порядка 1700
и мне нужно отослать все файлы в этой папке какие есть клиенту чтобы он у себя их отобразил в QTreeVidget
и каждый write у меня будет имя файла
29  Qt / Вопросы новичков / вопрос по qtcpsocket : Февраль 07, 2018, 21:38
здравствуйте есть сервер основанный на qtcpserver и клиент на qtcpsocket

сервер посылает сообщение клиенту в цикле ввида
Код
C++ (Qt)
for (in t i=0;i<30;i++)
{
   socket->write(QByteArray::number(i));
 
}


собственно клиент принимает сообщение в слоте связанном с сигналом readyread

прием данных от сервака
Код
C++ (Qt)
void ReceiveServer
{
  cout<<sok->readAll().data<<endl;
}


соответственно в консоль выводится сообщение

Те срабатывает два сигнала ready read
012345678910111213141516

17181920212223242526272829


Но вот в чем вопрос можно ли сделать так чтобы сервер отсылал данные (сделал 1 write) а на клиенте сработал readyread и он получил то что я ему послал за одну итерацию цикла ( в данном примере одно чило из 30)

просто на скока я понимаю write асинхронный он пишет сначало в свой внутренний буфер, а потом когда решит выплевывает клиенту
если делаю так

Код
C++ (Qt)
socket->write(QByteArray::number(i));
socket->flush();
то все тоже самое
Вообщем как-то можно организовать полностью синхронную отправку данных?

30  Qt / Вопросы новичков / Re: qprocess+форматирование : Ноябрь 27, 2017, 20:55
может он в stderr пишет ?
QApplication::processEvents(); - это зачем ?

Да действительно он пишет в stderr и испускает сигнал readyreadstandarterror()
правда это странно форматирование завершается успешно по сигналу finished код возврата ноль и QProcess:NormalExit
readyreadstandartoutput--вообще не испускается ни разу

хм...... может быть особенность данной программы
Страниц: 1 [2] 3 4 ... 23

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