Здравствуйте, гость ( Вход | Регистрация )
Дата поста: | В теме: | За сообщение: | Спасибо сказали: | ||
---|---|---|---|---|---|
23.8.2012, 16:46 | [Решено] UDP сервер для многих клиентов? |
да, это так если, но если отключить алгоритм Нагла (Nagle algorithm). То данные будут отправлять сразу же ) предугадывая вопрос "Как это сделать?" отвечаю:
Имей ввиду, что UDP не гарантирует 100% доставку пакета + его правильность. т.е. если клиент послал 1,2,3 то к серверу может придти 2,1,3 а может придти только 2,1 или вообще только 3) |
Norrius, | ||
23.8.2012, 16:27 | Перевод ancii в hex | QByteArray pass = QTextCodec::codecForName("Windows-1251").makeEncoder().fromUnicode(password); |
RazrFalcon, | ||
23.8.2012, 16:22 | Передача массива из Qt программы в Free Pascal библиотеку | хм.... - говорит что у тя процедура, т.е. она в понимании С/С++ возвращает void. - говорит, что у тебя фунция, которая должна возвращать тип doubleподозреваю, что из-за этого у тебя портится стек и каша получается... попробуй вместо
========================== чет тупанул )
это че, получается double теперь у тебя есть указатель на функцию? |
rominf, | ||
21.5.2012, 12:36 | Прокрутка на значке в трее | Как вариант - наследование QCoreApplication и переопределение bool QCoreApplication::event ( QEvent * e ), где ловить QEvent::WheelEvent, и если координаты мыши входят в QSystemTrayIcon::geometry(), перенаправлять соответствующему объекту событие. Вот как бы я сделал:
|
efg, | ||
13.3.2012, 7:52 | Использование QtScript | ну да, все правильно))
вот так надо) |
faustin, | ||
12.3.2012, 8:56 | Использование QtScript | Если не смущает описать врапер на каждую функцию, то могу предложить такой вариант:
|
faustin, | ||
17.11.2011, 14:46 | построение таблицы | Где-то в вики была статья про то как использовать Excel в Qt. Ищи) |
ArhiZhek, | ||
17.11.2011, 13:56 | QThead и subthread. | Скорее пойдет QAtomicInt. При старте каждый поток инкрементирует QAtomicInt, а при завершении декрементирует. если после декремента значение переменной == 0, тогда этот поток завершился последним.
Как-то так) |
smartchecker, | ||
17.10.2011, 16:43 | Как сделать доступными МЕТОДы классов Qt? | Боюсь напрямую никак. только писать класс-обертку |
faustin, skruk, | ||
14.10.2011, 8:12 | Как QDeclarativeView читает файлы! | Придумал костыль ![]() У QDeclarativeEngine имеется свой QDeclarativeNetworkAccessManagerFactory c методом QNetworkAccessManager *create ( QObject * parent ) = 0. нам нужно: 1. переопределить QNetworkAccessManager, который будет брать из zip архива данные 2. переопределить QDeclarativeNetworkAccessManagerFactory, который будет возвращать переопределенный QNetworkAccessManager 3. в setSource нашего declarative view устанавливаем какой-нибудь QUrl("zip://blablabla") Пробуй!) P.S. я не пробовал ![]() |
Strikevld, | ||
19.8.2011, 7:56 | QList и indexOf | Все просто. У тебя QList<USBID*> хранит указатель на объект и, следовательно, при поиске сравниваются указатели на адреса, а не сами объекты. Вижу два варианта: 1. Делаешь функцию которая принимает QList<USBID*> и то, что нужно найти. В цикле для каждого элемента, пока не будет найден искомый делаешь то, что сделал в операторе сравнения. 2. Используешь вместо QList<USBID*>, QList<USBID> |
Surendil, | ||
5.8.2011, 15:12 | Не выделяется текст мышью в QTextEdit | Цитата void TextEdit::mouseMoveEvent(QMouseEvent *e) { // if(mw->windowState() == Qt::WindowFullScreen) // { // if(!e->y()) emit showMenu(); // else emit hideMenu(); // } } у тебя mouseMoveEvent перекрывается производным классом и до QTextEdit не доходит вообще. В этом и кроется беда. Решение: Цитата void TextEdit::mouseMoveEvent(QMouseEvent *e) { QTextEdit::mouseMoveEvent(e); // if(mw->windowState() == Qt::WindowFullScreen) // { // if(!e->y()) emit showMenu(); // else emit hideMenu(); // } } или Цитата void TextEdit::mouseMoveEvent(QMouseEvent *e) { // if(mw->windowState() == Qt::WindowFullScreen) // { // if(!e->y()) emit showMenu(); // else emit hideMenu(); // } QTextEdit::mouseMoveEvent(e); } Выбирай сам ![]() |
QMainWindow, | ||
2.8.2011, 14:11 | Как правильно получать вывод программы запущенной во втором потоке? | Попробуй так
|
RazrFalcon, | ||
2.8.2011, 13:17 | Несколько окон последовательно | Для того чтобы виджет сразу удалился после метода close() необходимо дать ему атрибут Qt::WA_DeleteOnClose. |
RazrFalcon, | ||
10.5.2011, 16:41 | Qt::DecorationRole и УТЕЧКА ПАМЯТИ | Я кажется нашел в чем косяк. У тебя при каждой перерисовке делегата (когда мигает курсор, делегат перерисовывается) создавался новый Pixmap, а удаление старого откладывалось на потом. Решение: я перенес создание pixmap в MyItem, вот что получилось: myitem.h Раскрывающийся текст
myitem.cpp Раскрывающийся текст
mymodel.cpp Раскрывающийся текст
|
Iron Lappu, | ||
5.5.2011, 16:37 | Свойства QComboBox-мембера в дизайнере | посмотри пример QTDIR\examples\designer\containerextension. очень много полезностей можно высмотреть. |
Алексей1153, | ||
27.4.2011, 8:24 | Почитать количество ROW в QSqlQuery | Просто мне внчале надо получить данные о количестве строк для передачи в мою функцию, а лиш потом получать контейнер query... С точки зрения оптимальности я бы выполнил запрос данных, затем эти данные поместил в контейнер (например в QList) попутно обрабатывая данные. В итоге имеем 1. через QList::count() я могу получить кол-во записей, причем независимо от возможностей sql драйвера 2. данные уже преобразованы и готовы к дальнейшей обработке. Все лучше чем делать два sql запроса) |
fortero, | ||
27.4.2011, 8:11 | Как отправить Http-запрос с XML данными? | Все просто:
Так же у класса QNetworkAccessManager есть перегруженный метод post ( const QNetworkRequest & request, QIODevice * data ) (подробности в доках), который может напрямую послать в качестве тела HTTP запроса, например, данные из файла |
sindbad07, | ||
7.4.2011, 8:27 | QSqlTableModel Выборка полей | Ну почему же выбирать) QSqlTableModel наследуется от QSqlQueryModel, в которой есть метод setQuery(). Однако в QSqlTableModel он является защиненным (мне лично непонятно как ![]() Есть хитрость: Воспользуемся преимуществами наследования.
И вуаля! Все сработало) |
abc, | ||
6.4.2011, 9:03 | Свойства QComboBox-мембера в дизайнере | Когда дизайнер вызывает QString QDesignerCustomWidgetInterface::domXml () const для твоего виджета, ты должен вернуть xml, описывающий виджет. В этом методе ты как-то должен вызвать domXml для комбо бокса, он вернет свой xml описатель и ты вставишь его в свой. Сделал на дизайнере форму и комбо бокс с тремя итемами. Вот что выдал дизайнер: Раскрывающийся текст
|
Алексей1153, | ||
4.4.2011, 8:42 | Свойства QComboBox-мембера в дизайнере | Сорри за долгое молчание ) У дезигнера есть интерфейс QDesignerTaskMenuExtension, который позволяет добавлять свои пункты в это самое меню) => у комбо бокса этот интерфейс реализован. Тебе необходимо у своего виджета реализовать этот интерфейс и проверять, если менюшка вызывается над комбо боксом, то вернуть ему плагин, который и добавляет пунк меню в виджет. Но это тока идеи) сам я этим не занимался ![]() Или же внутри своего плагина, создавать плагин комбо бокса и добавлять в своим actions, actions комбо бокса |
Алексей1153, | ||
28.3.2011, 9:30 | QTreeView или QTreeWidget | Набросал тут за часок... пока без коментов, кто захочет, разберется. в исходниках валяется БД streets.sqlite, ее рядом с ехе положить следует. |
silver47, | ||
25.1.2011, 16:28 | QLabel problem | Когда виджет находится внутри лайаута, за именение размеров виджета отвечает лейаут. У каждого виджета есть метод sizeHint() который вызывается преимущественно лейаутом и возвращает "идеальные" размеры виджета. Наверное когда ты устанавливаешь в лейбл пиксмап, то лейбл меняет свой "идеальный" размер под размер пиксмапа + 2-3 пикселя паддинга. |
wiz29, | ||
30.12.2010, 15:52 | Как понять что программа работает в двух потоках? | Вклинюсь в дискуссию) В свое время много-много убил времени на понимание потоков и как Qt с ними обращается)) Для достижения максимальной производительности необходимо создавать столько потоков, сколько физически одновременно может обработать проц. Для двухядерников идеальным будет два потока, для четырех - четыре. Еще момент, на создание самого потока у системы уходит уйма времени, поэтому не стоит убивать поток сразу после того как он обработал кадр. После обработки кадра, поток должен ждать , когда ему сунут новый кадр для обработки. При таком ожидании лучше всего использовать условные переменные. Условные переменные - разновидность объекта для синхронизации потоков. Вот код, отображающий все вышеперечисленные моменты) в коде я предполагаю, что есть класс Frame, который инкапсулирует такую сущность как кадр с камеры. класс Frame имеет член - int number, который указывает его порядковый номер )
Вероятно многое может показаться непонятным, но я постараюсь ответить на них ) |
RazrFalcon, | ||
28.12.2010, 14:24 | Как работать с сертификатми? | Цитата при заходе на этот же сайт еще раз (не выходя из программы), снова вываливался в слот sslErrors с теми же ошибками касаемо сертификатов, что и в первый раз.... Или стоп... так и должно быть? При reload-e какбы новый handshake у сокетов происходит? Да, конечно - создается новые подключение же )) Цитата А можно как-то сделать чтобы вот принял я этот (пускай невалидный) сертификат, и больше для этого сайта в слот sslErrors не попадаю... Или так никак не сделать?) Вроде можно. Поиграйся с QSslConfiguration - там можно тонко настроить поведение QNetworkReply с ssl. Цитата А в случае, если у хоста все нормально (например, https://google.com) с сертификатами (т.е. я не попадаю в слот ошибок ssl), как эти сертификаты тогда можно достать? После того как QNetworkReply установит соединение его sslConfiguration изменится. Оттуда можно получить peerCertificate(). Цитата И такой вопрос.... Qt (через механизмы openSSL) сам (на "низком" - не пользовательском уровне) при https-запросе отправляет информацию о сертификате хоста в центры CA? Т.е. вот этот механизм меня, как конечного пользователя Qt, не должен интересовать вообще, так? Насчет этого я точно не знаю( Тоже интересно было бы узнать этот момент. Цитата И, наверное, последний вопрос... Почему именно QSslError::HostNameMismatch? Почему не CertificateExpired или не CertificateUntrusted? Можно где-то подробнее об этих ошибках почитать? А то в Qt Assistant только идентификаторы указаны этих ошибок и больше ничего на найти.... и не нагуглить( Про HostNameMismatc это я из личного опыта взял). CertificateExpired - у каждого сертификата же есть срок годности) эта ошибка видать вываливается когда он уже истек. CertificateUntrusted - ненадежный сертификат. Я так подозреваю, что это ошибка вывалится, когда в sslConfiguration не нашлось такого сертификата, хотя он и подписан доверенным лицом. Этот момент надо проверить ) В любом случае отпишись как че узнаешь, меня эта тема тоже интересует) |
Rocky, | ||
![]() |
Текстовая версия | Сейчас: 16.2.2025, 23:30 |