QT Designer
|
Старый параноик Сообщения: 2423 |
Профиль | Отправить PM | Цитировать Данный топик создан в помощь всех, кто работает с Qt и пользуется Qt Desiger при создании приложений. У меня накоплен большой опыт работы с Qt под Linux. Но некоторые вещи ставят в тупик. Если у кого-то будут вопросы, задавайте их здесь.
Внимание! Данная тема предназначена для обсуждения вопросов, связанных не с работой Qt вообще, только дизайнера! Мой вопрос: Qt designer внезапно стал некорректно работать. При редактировании свойств виджетов, при редактировании имени кнокпа Del на нумпаде стала удалять не букву в имени, а сам виджет. При этом "отдельный" Del (в ряду из 6 кнопочек) работает нормально. Можно, конечно, пользоватьтся им, или BackSpace'ом, но я всю жизнь работал на нумпаде. Стрелочки на нумпаде работают как обычно. WTF? Бесит страшно... |
|
Отправлено: 14:01, 27-05-2004 |
Ветеран Сообщения: 551
|
Профиль | Отправить PM | Цитировать ivank
Цитата:
Есть QProcess, у него есть метод addArgument. если я просто загоняю в него всю строку и посылаю на запуск - не работает, если же разбиваю на аргументы - работает. Как дальше быть? А дизайнер тут при том, что может быть есть такой виджет, который уже реализует командную строку. Не смейтесь сильно, если вопросы сильно ламеризмом попахивают - это моя первая прога под Qt. Делайте скидку... |
|
------- Отправлено: 23:52, 11-10-2004 | #11 |
Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети. Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля. |
редкий гость Сообщения: 1696
|
Профиль | Сайт | Отправить PM | Цитировать Суть в том, что QT тут в общем н присём. можно просто выполнить /bin/sh с единственным параметром - то, что ввели в коммандной строке. Потом считать. Смотреть в сторону popen(), если не ошибаюсб.
А лучше не каждый раз порождать /bin/sh для выполнения одной строчки. А родить раз, а затем просто строчку ему скармливать и брать её результат. Честно говоря, не уверен как это проще сделать. Наверно, всё же придётся создавать трубу (pipe). Вообще говоря, юниксовый программер из меня тот ещё, поэтому это наверняка не лучшее решение. И до кучи: если хочется самому парсить строчку: http://www.google.ru/search?hl=ru&am...arsing&lr= Добавлено: н присём = не причём |
------- Отправлено: 00:41, 12-10-2004 | #12 |
Ветеран Сообщения: 551
|
Профиль | Отправить PM | Цитировать Мда, прогнал я вчера конкретно. Сегодня вроде разобрался...
В общем, организовал командную строку пока так: connect ( cmd_line, SIGNAL(readyReadStdout()), this, SLOT(slotReadFromStdout()) ); ... cmd_line->setArguments("/bin/bash"); cmd_line->addArgument("-c"); cmd_line->addArgument(arg); // Entered command. exit_status=cmd_line->start(0); ... void lab1::slotReadFromStdout() { consoleTextEdit->append( cmd_line->readStdout() ); } |
------- Отправлено: 14:13, 12-10-2004 | #13 |
Старый параноик Сообщения: 2423
|
Профиль | Отправить PM | Цитировать Dimon
Только маленький совет: протестируйте как следует потом своё приложение. Особенно обратите внимание на "затопление" выходной/выходной трубы При большом количестве строк, передаваемых туда и извлекаемых оттуда, идут глюки. Кррр, долго объяснять, если столкнётесь вдруг, я расскажу... |
Отправлено: 14:30, 12-10-2004 | #14 |
Ветеран Сообщения: 551
|
Профиль | Отправить PM | Цитировать hasherfrog
Ммм, немного не понял. Я вызваю приложение по start(), оно отработало и я завершаю его по closeStdin(), tryTerminate() или вообще по kill(). И что, глюки могут быть во время работы приложения, когда я буду посылать строки, с помощью например writeToStdin() или забирать строки по readStdout() ? И какие именно глюки, чтобы я смог их распознать и ликвидировать. Или обозвать фичей приожения. |
------- Отправлено: 15:30, 12-10-2004 | #15 |
Старый параноик Сообщения: 2423
|
Профиль | Отправить PM | Цитировать Визуально это будет выглядеть так:
1. Вы посылаете башу 5 команд(строк). 2. баш получает 1 строку, обрабатывает, возвращает результат. 3. Вы ждёте ответа на ещё четыре команды - до пенсии. Как вариант, Вы устаёте ждать и... 3а. Вы посылаете ещё одну команду. 4а. Баш возвращает ответ на ранее посланные 4 + ответ последнюю. |
Отправлено: 15:50, 12-10-2004 | #16 |
Ветеран Сообщения: 551
|
Профиль | Отправить PM | Цитировать Такой еще вопрос: внятно объясните пожалуйста, как пользваться Spacer'ами? Каков механизм их работы? Какие есть общие рекомендации при их использовании? А то нигде ничего по существу не написано, или написано, что, мол, выравниванием можно овладеть только методом проб и ошибок. А этот самый метод пока не дает результатов...
|
------- Отправлено: 15:27, 19-10-2004 | #17 |
Старый параноик Сообщения: 2423
|
Профиль | Отправить PM | Цитировать Цитата:
Как научится пользоватся (и принцип действия) - это сразу становится понятным, когда Вы начинаете ресайзить форму (диалог). Если контролсы ведут себя "неприлично", нужно спейсеров добавить. Только не увлекайтесь. Как правило 2-х хватает за глаза. И маленький совет: поменьше объединяйте контролсы в группы. |
|
Отправлено: 20:50, 19-10-2004 | #18 |
Ветеран Сообщения: 551
|
Профиль | Отправить PM | Цитировать hasherfrog
Цитата:
Для чего нужны спэйсеры я понимаю. Но вот принцип их работы - все никак не раскушу. Ну хоть в двух словах основные положения, так сказать, можно узнать? |
|
------- Отправлено: 21:26, 19-10-2004 | #19 |
Старый параноик Сообщения: 2423
|
Профиль | Отправить PM | Цитировать Dimon
Не совсем понял вопрос. Принцип работы стоит посмотреть в исходниках QT, наверное?.. |
Отправлено: 12:34, 20-10-2004 | #20 |
Участник сейчас на форуме | Участник вне форума | Автор темы | Сообщение прикреплено |
| |||||
Название темы | Автор | Информация о форуме | Ответов | Последнее сообщение | |
Alligator Flash Designer 8.0.4 | OSZone Software | Новости программного обеспечения | 0 | 20-11-2009 12:30 |
|