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

Войти
 
  Начало Форум WIKI (Вики)FAQ Помощь Поиск Войти Регистрация  
  Просмотр сообщений
Страниц: 1 ... 715 716 [717] 718 719 ... 761
10741  Qt / Общие вопросы / Re: Доступ в стороннее QT приложение : Декабрь 23, 2009, 17:53
Поскольку я новичёк, имею право играть блондинку Улыбающийся - почему нельзя получить структур данных? Насколько я понял по публикациям идею, QT приложение крутит свою очередь событий, принимая всё родительским окном. Но может алгоритм распределения запросов открытый (все ж кроссплатформенная идея Улыбающийся ) и притворяясь "папой" можно попросить отдать содержимое чайлд контрола?
Ну допустим (хотя я не вижу как) можем как-то управлять контролом, и что с того? Откуда мы знаем в каком окне какой контрол, что он делает и.т.п.? Пробежать по всем QTextEdit и вставить в каждый неприличное слово - вот максимум после долгих усилий. Стоит ли тратить время на примитивные пакости? Улыбающийся
10742  Qt / Общие вопросы / Re: обработка нажатий клавишь клавиатуры : Декабрь 23, 2009, 17:41
Я хотел сказать, что программа перестала реагировать на нажатия кнопок клавиатуры, после того как я удалил в MainWindow.cpp функцию keyPressEvent()
Значит потеряли фокус, ищите. Попробуйте кликнуть на wgOpeGL поможет ли это с клавиатурой?
10743  Qt / Пользовательский интерфейс (GUI) / Re: Зависает интерфейс программы нужна помощь.... : Декабрь 23, 2009, 17:35
прикрипил все исходники,  с ними будет более понятно. После запуска нитки выполняется QString Run::apply(const QString &str)), я знаю что он бесконечен в цикле, мне это не важно, я так сделал специально, мне нужно понять каким образом я могу передать из QString Run::apply(const QString &str)) сигнал в статус бар формы во время каждой итерации бесконечного цикла и каким образом этот сигнал принять в форме
ЗЫ: из void TransactionThread::run() сигнал в статус бар формы приходит нормально, я не знаю как его послать именно из QString Run::apply(const QString &str))
Это легко сделать "технически" (см. attachment). Но это идет вразрез с логикой примера, с именами переменных и.т.п. Подразумевается что "transaction" (класс Run) - это неделимая единица вычислений, которая не должна ничего знать об UI, не должна посылать сигналов и.т.п. Всем этим занимается класс TransactionThread.

Поэтому посмотрите как но не используйте, уберите бесконечность в Run но оставьте ее в TransactionThread
10744  Qt / Общие вопросы / Re: Запись в бинарный фаил : Декабрь 23, 2009, 15:50
Прошу прощения за глупость) EOF только для текстового файла. Обрезание бинарного файла можно реализовать только изменением значения длины файла на уровне файловой системы =)
И текстового тоже. Символ "конец файла" (насколько я помню 0x1A) это просто дополнительная возможность которую текстовые редакторы используют (если хотят). Так что нет смысла с ним возиться, проще действовать через QFile::resize
10745  Qt / Пользовательский интерфейс (GUI) / Re: Зависает интерфейс программы нужна помощь.... : Декабрь 23, 2009, 15:42
я понимаю что цикл бесконечный это не важно, у меня не получается послать сигнал на форму из (QString Run::apply(const QString &str)), как это можно сделать.....
сейчас программа посылает сигнал только из потока (void TransactionThread::run() ), но мне необходимо посылать на форму значения ну к примеру I
В нитке у Вас 2 цикла и оба бесконечные. Поэтому строка во внешнем цикле
Код:
emit allTransactionDone();
не получит управления никогда т.к. она стоит после вложенного цикла а он никогда не кончится
10746  Qt / Общие вопросы / Re: Доступ в стороннее QT приложение : Декабрь 22, 2009, 19:46
Понятно то, что до Кьютового контрола, в отличии от стандартного виндового, нельзя достучаться через винапи.
Ну до окон-то можно, да толку все равно немного. Структур данных не получить
10747  Компиляторы и платформы / Linux / Re: OGL (XGL?) для Linux : Декабрь 22, 2009, 19:38
что такое OGL?
OpenGL
10748  Qt / Общие вопросы / Re: Доступ в стороннее QT приложение : Декабрь 22, 2009, 17:54
Qt все контролы в окне сама отрисовывает. Думаю, дальше все понятно.
Хммм... а что собственно понятно? Улыбающийся По-моему дело такое - есть 2 процесса, стало быть у них разные адресные пространства. И непонятно как данные из одного могут быть переданы в другое. Для этого нужно или работать через дескрипторы или shared memory - словом нужна какая-то специальная поддержка, а ее не видно.

А вообще мне нравится вопрос любознательного молодого человека  Улыбающийся
10749  Qt / Пользовательский интерфейс (GUI) / Re: Зависает интерфейс программы нужна помощь.... : Декабрь 22, 2009, 17:44
Код:
QString Run::apply(const QString &str){
QString str2;
//непосредственно расчеты
           int i=1;
int a = 10;
while (a !=i){
a=a/i;
i++;
str2 = QString::number(i,10);
}
return (str2);
}
Смотрим:
a = 10, i = 1
a = 10, i = 2
a = 5, i = 3
a = 1, i = 4
a = 0, i = 5
a = 0, i = 6
Бесконечный цикл поскольку (a !=i)  всегда. Поэтому что имеем то и имеем - да, интерфейс не  виснет, я могу двигать и сайзить главное окно. Но вычисления (и нитка) никогда не кончатся

Примечание: не беда если много исходников но пожалуйста в следующий раз прикрепляйте их zip файлом компилябельного примера (выдирать через copy/paste никому не хочется  Улыбающийся)
 
10750  Qt / Общие вопросы / Re: обработка нажатий клавишь клавиатуры : Декабрь 22, 2009, 17:01
exec крутит свой EventLoop и до MainWindow дело не доходит. Тот же обработчик но для msgBox получит keyPressed 
10751  Qt / Пользовательский интерфейс (GUI) / Re: Drag and Drop: удаление QDrag : Декабрь 22, 2009, 16:56
Спасибо, почитал про этот сигнал. Если я верно понял мысль, то мне надо вешаться на QDrag::destroyed, так? Увы, сделать не получится вот почему: обвязка для драга вынесена, как я писал в отдельный класс, который не наследует QObject и не декларирует Q_OBJECT, т.е. про сигналы-слоты он не знает ничего, но зато умеет создавать QDrag, запоминать точку начала перетаскивания и принимать или не принимать dragEnter.
...
Привеситься на QDrag::destroyed с привязкой его к widgetSelf я не могу за отсутствием общего предка у удаляемых виджетов.
Не проходят сигналы - не беда, никто не мешает Вам послать postEvent в деструкторе.
10752  Qt / Пользовательский интерфейс (GUI) / Re: Как сделать ожидание нажатия кнопки? : Декабрь 21, 2009, 22:53
Подобная тема недавно была
http://www.prog.org.ru/topic_11383_0.html
processEvents не нужен если QProgressDialog модальный (тогда setValue само вызовет processEvents)
UPDATE_STEP нужно подбирать по месту (иначе будем работать на индикатор)
10753  Qt / Пользовательский интерфейс (GUI) / Re: Drag and Drop: удаление QDrag : Декабрь 21, 2009, 21:30
Сам не решал но делал бы так: в деструкторе перекрытого QDrag испустил бы сигнал созданный с QueuedConnection (т.е. через очередь) а в слоте для этого сигнала уже спокойно удалял источник или что надо

Edit: и перекрывать не надо, есть удобный готовый сигнал destroyed
10754  Программирование / С/C++ / Re: Открыть проассоциированный файл - пусто в *argv[] : Декабрь 21, 2009, 21:15
Ну так я понимаю что так не получится) А как же правильно-то сделать?)
Сделать ЧТО?  Улыбающийся Если Вы запускаете программу из другой - нет проблем, давайте командную строку как обычно, это работает. Если же надо пользователю дать возможность открыть файл с помощью этой программы - тогда хужее. На Mac Вам надо

1) отредактировать файл info.plist (вставить туда "Document Types" которые должны пониматься). Этот файл Qt создает там же где и проект. Проще всего взять info.plist у др. программы и скопировать по образцу. После этого Вы сможете "бросать" файлы данного типа на иконку Вашего application.

2) К сожалению дропнутые файлы в командой строке не придут - вместо этого задача получит kHighLevelEvent и Вам надо пробираться садами-огородами через AppleEvent. Вот ссылочка http://doc.trolltech.com/qq/qq12-mac-events.html
10755  Qt / Установка, сборка, отладка, тестирование / Re: Установка Qt на Mac Snow Leopard : Декабрь 21, 2009, 17:52
1 клик выделяет файлы проекта...
Не пойму что Вы хотите - какое "одно окно"? Я к Xcode долго привыкал после CodeWarrior и могу сказать: хоть и есть заморочки, Xcode IDE совсем неплохой, никак не хуже многих.
Страниц: 1 ... 715 716 [717] 718 719 ... 761

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