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

Войти
 
  Начало   Форум  WIKI (Вики)FAQ Помощь Поиск Войти Регистрация  

Страниц: 1 ... 3 4 [5]   Вниз
  Печать  
Автор Тема: Как при нажатии кнопки выполнить консольную команду?  (Прочитано 23332 раз)
wildcat
Гость
« Ответ #60 : Февраль 14, 2012, 11:46 »

Да.. )) там start потерял, когда вырезал закоменченые строки.

Все получилось вот:
Код
C++ (Qt)
void usbController::s_addComboBox()
{
   comboBox->clear();
   p_get_usb = new QProcess();
   QString get_usb = "/sbin/usb_storages.sh";
   p_get_usb->start(get_usb);
   p_get_usb->waitForFinished(300);
   comboBox->addItem(p_get_usb->readAllStandardOutput());
}


Единственное. если в выводе не одна запись а две и идут в столбик, они заносятся в comboBox в одну строчку.
Подскажете как исправить или чем воспользоваться?
Записан
mutineer
Гость
« Ответ #61 : Февраль 14, 2012, 11:54 »

Вычитывать в строку, разбивать, и добавлять в комбобокс как два айтема
Записан
wildcat
Гость
« Ответ #62 : Февраль 14, 2012, 14:25 »

Получилось вот так:

Код
C++ (Qt)
comboBox->clear();
   p_get_usb = new QProcess();
   QString get_usb = "/sbin/usb_storages.sh";
   p_get_usb->start(get_usb);
   p_get_usb->waitForFinished(300);
   QStringList *list = new QStringList();
 
   QString item = p_get_usb->readAllStandardOutput();
   *list = item.split(QRegExp("\n"));
   for (int i = 0; i < list->size(); ++i)
   {
   QString b = list->at(i).toLocal8Bit().constData();
   qDebug()<<b;
   comboBox->addItem(b);
   }
Записан
Страниц: 1 ... 3 4 [5]   Вверх
  Печать  
 
Перейти в:  


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