Модераторы: Daevaorn
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> как минимизировать программу? 
:(
    Опции темы
Racot
Дата 14.12.2011, 18:31 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 63
Регистрация: 11.10.2011

Репутация: нет
Всего: нет



У меня в приложении по нажатию кнопки выставляется 64 checkbox (я делаю в QT но это не важно) и мне приходится писать (а это не в одной кнопке!!!)):

void controller_window::on_pushButton_2_clicked()
{

 // Warning
   ui->checkBox_65->setChecked(true);
   ui->checkBox_66->setChecked(true);
   ui->checkBox_67->setChecked(true);
   ui->checkBox_68->setChecked(true);
   ui->checkBox_69->setChecked(true);
   ui->checkBox_70->setChecked(true);
   ui->checkBox_71->setChecked(true);
   ui->checkBox_72->setChecked(true);
   ui->checkBox_73->setChecked(true);
   ui->checkBox_74->setChecked(true);
   ui->checkBox_75->setChecked(true);
   ui->checkBox_76->setChecked(true);
   ui->checkBox_77->setChecked(true);
   ui->checkBox_78->setChecked(true);
   ui->checkBox_79->setChecked(true);
   ui->checkBox_80->setChecked(true);
   ui->checkBox_81->setChecked(true);
   ui->checkBox_82->setChecked(true);
   ui->checkBox_83->setChecked(true);
   ui->checkBox_84->setChecked(true);
   ui->checkBox_85->setChecked(true);
   ui->checkBox_86->setChecked(true);
   ui->checkBox_87->setChecked(true);
   ui->checkBox_88->setChecked(true);
   ui->checkBox_89->setChecked(true);
   ui->checkBox_90->setChecked(true);
   ui->checkBox_91->setChecked(true);
   ui->checkBox_92->setChecked(true);
   ui->checkBox_93->setChecked(true);
   ui->checkBox_94->setChecked(true);
   ui->checkBox_95->setChecked(true);
   ui->checkBox_96->setChecked(true);

   // Fault
     ui->checkBox_33->setChecked(true);
     ui->checkBox_34->setChecked(true);
     ui->checkBox_35->setChecked(true);
     ui->checkBox_36->setChecked(true);
     ui->checkBox_37->setChecked(true);
     ui->checkBox_38->setChecked(true);
     ui->checkBox_39->setChecked(true);
     ui->checkBox_40->setChecked(true);
     ui->checkBox_41->setChecked(true);
     ui->checkBox_42->setChecked(true);
     ui->checkBox_43->setChecked(true);
     ui->checkBox_44->setChecked(true);
     ui->checkBox_45->setChecked(true);
     ui->checkBox_46->setChecked(true);
     ui->checkBox_47->setChecked(true);
     ui->checkBox_48->setChecked(true);
     ui->checkBox_49->setChecked(true);
     ui->checkBox_50->setChecked(true);
     ui->checkBox_51->setChecked(true);
     ui->checkBox_52->setChecked(true);
     ui->checkBox_53->setChecked(true);
     ui->checkBox_54->setChecked(true);
     ui->checkBox_55->setChecked(true);
     ui->checkBox_56->setChecked(true);
     ui->checkBox_57->setChecked(true);
     ui->checkBox_58->setChecked(true);
     ui->checkBox_59->setChecked(true);
     ui->checkBox_60->setChecked(true);
     ui->checkBox_61->setChecked(true);
     ui->checkBox_62->setChecked(true);
     ui->checkBox_63->setChecked(true);
     ui->checkBox_64->setChecked(true);

}

а можно ли это в какой нибудь цикл загнать типа там : for (i=1;i<=64;i++){}.....и там подставлять просто i........ну или как нибудь что бы не писать эту длинную ахинею........???
PM MAIL   Вверх
newbee
Дата 14.12.2011, 19:22 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бревно
**


Профиль
Группа: Участник
Сообщений: 703
Регистрация: 24.8.2011

Репутация: 4
Всего: 19



Ну либо соедини события правильными коннектами с каждым чекбоксом (один раз), либо просто засунь чекбоксы в массив и пройдись по ним Q_FOREACH.


--------------------
You're face to face
With man who sold the world
PM   Вверх
boostcoder
Дата 15.12.2011, 05:18 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


pattern`щик
****


Профиль
Группа: Завсегдатай
Сообщений: 5458
Регистрация: 1.4.2010

Репутация: 49
Всего: 110



чтоб не писать подобные баяны везде где требуется изменение состояний кнопок, как правило, используется машина состояний. та же QStateMachine.
PM WWW   Вверх
Dem_max
Дата 18.12.2011, 07:14 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1780
Регистрация: 12.4.2007

Репутация: 4
Всего: 39



в Builder это выглядит так
Код

    for(int i = 1; i <= 100; i++)
    {
        TCheckBox *CheckBox = (TCheckBox *)FindComponent("CheckBox" + AnsiString(i));
        CheckBox->Checked = true;
    }



--------------------
Американские программисты долго не могли понять, почему русские при зависании Windоws всё время повторяют "Твой зайка написал" ("Yоur bunnу wrоte")
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "С++:Общие вопросы"
Earnest Daevaorn

Добро пожаловать!

  • Черновик стандарта C++ (за октябрь 2005) можно скачать с этого сайта. Прямая ссылка на файл черновика(4.4мб).
  • Черновик стандарта C (за сентябрь 2005) можно скачать с этого сайта. Прямая ссылка на файл черновика (3.4мб).
  • Прежде чем задать вопрос, прочтите это и/или это!
  • Здесь хранится весь мировой запас ссылок на документы, связанные с C++ :)
  • Не брезгуйте пользоваться тегами [code=cpp][/code].
  • Пожалуйста, не просите написать за вас программы в этом разделе - для этого существует "Центр Помощи".
  • C++ FAQ

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Earnest Daevaorn

 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | C/C++: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0615 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.