crossplatform.ru

Здравствуйте, гость ( Вход | Регистрация )

bo0blik
  опции профиля:
сообщение 16.10.2009, 9:50
Сообщение #1


Студент
*

Группа: Участник
Сообщений: 27
Регистрация: 13.9.2009
Пользователь №: 1089

Спасибо сказали: 0 раз(а)




Репутация:   0  


Всем привет!

Возникла такая проблема у меня есть список из n строк:

Строка 1
Строка 2
Строка ...

Как мне преобразовать эти строки в n, к примеру, радиобутонов с названиями из строк?

Просто мне кажется что писать это с помощью статических элементов и кучи условий полнейший идиотизм.

Подскажите где копать, за код буду вообще дико благодарен.

Большое спасибо.
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
 
Начать новую тему
Ответов
bahus
  опции профиля:
сообщение 16.10.2009, 10:46
Сообщение #2


Новичок


Группа: Новичок
Сообщений: 1
Регистрация: 16.10.2009
Пользователь №: 1157

Спасибо сказали: 0 раз(а)




Репутация:   0  


Может поможет, я делал динамические пункты в меню. Ток одно смущает, походу там есть утечка памяти, и написано может немного коряво.

someclass.h
private:
 void addHostAction(QString &hostName);         
 void delHostAction(QString &hostName);         
 void buildHostMenu();         
 bool findHostAction(QAction *hostAction, QString &hostActionName); 

 QMenu *hostMenu;          
 QList<QAction*> hostMenuActions;


someclass.cpp
void MainWindow::addHostAction(QString &hostName) {     
 QAction *hostAction = new QAction(hostName,this);      
 connect(hostAction, SIGNAL(triggered()), this, SLOT(on_hostActionCicked()));     
 hostMenuActions.append(hostAction);     
 this->buildHostMenu(); 
} 

void MainWindow::delHostAction(QString &hostName) {    
 int j = 0;     
 QList<QAction*>::iterator i = hostMenuActions.begin();      
 while (i != hostMenuActions.end()){         
   if (findHostAction(*i,hostName)){             
     hostMenuActions.removeAt(j);             
     break;         
   }         
  ++i;         
  ++j;     
 } 
 this->buildHostMenu();
} 

void MainWindow::buildHostMenu() {     
 QList<QAction*>::const_iterator i = hostMenuActions.begin();      
 hostMenu->clear();     
 while (i != hostMenuActions.end()){         
  hostMenu->addAction(*i);         
  ++i;     
 } 
} 

bool MainWindow::findHostAction(QAction *hostAction, QString &hostActionName) {     
 if (hostAction->text() == hostActionName)         
  return true;     
 else        
  return false; 
}
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение

Сообщений в этой теме


Быстрый ответОтветить в данную темуНачать новую тему
Теги
Нет тегов для показа


1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0


RSS Рейтинг@Mail.ru Текстовая версия Сейчас: 21.6.2025, 10:57