crossplatform.ru

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


  Ответ в вызов окна в зависимости от выбранного значения в combobox
Введите ваше имя
Подтвердите код

Введите в поле код из 6 символов, отображенных в виде изображения. Если вы не можете прочитать код с изображения, нажмите на изображение для генерации нового кода.
 

Опции сообщения
 Включить смайлы?
Иконки сообщения
(Опционально)
                                
                                
  [ Без иконки ]
 


Последние 10 сообщений [ в обратном порядке ]
ViGOur Дата 3.1.2015, 22:14
  Делаешь один базовый класс для твоих документов, от которого будут унаследованы твои Prosmotrrashodnakladnih, ProsmotrVozvratov и другие.
Добавляешь объект базового класса в твой класс MainWindow и делашь что-то вроде:
switch (index)
{
case 0:
     m_pBaseDoc = new Prosmotrrashodnakladnih;
    break;
case 1:
     m_pBaseDoc = new ProsmotrVozvratov;
break;
    default: return;  
}
Или реализуй полноценную фабрику классов...
lexflax Дата 3.1.2015, 15:35
  Доброго времени суток.
Подскажите как по двойному клику вызывать 5 разных окон, в зависимости от того какие данные сейчас загружены в tableview.
Если загружены данные о возвратах то будет вызвано окно для редактирования возвратов, если загружены расходные накладные то будет вызвано окно для редактирования расходных накладных.
Сейчас естественно при любой загрузке вызывается одно и тоже окно...
Данные загружаются после выбора в combobox
void MainWindow::echoChanged(int index)
{
    QSqlQueryModel *rashodnie = new QSqlQueryModel;
    QSqlQuery query;
switch (index){
case 0:
    query.exec("SELECT * FROM rashodnie_nacladnie");
    break;
case 1:
    query.exec("SELECT * FROM vozvrati");
break;
case 2:
    query.exec("SELECT * FROM d_postuplenia");
    break;
case 3:
    query.exec("SELECT * FROM prihodi");
break;
case 4:
    query.exec("SELECT * FROM spisania");
break;

    default:
            return;  }
rashodnie->setQuery(query);
ui->tableView->setModel(rashodnie);
}


Можно как то связь эту установить чтоб учитывалось из какой таблицы сейчас выгружены данные, и тогда после двойного клика вызывалось нужное окно.
К примеру сейчас 2 окна вызывается, расходные накладные и возвраты а должно только одно в зависимости от того какие данные сейчас выбраны в комбобоксе

void MainWindow::insertRecord(){
      Prosmotrrashodnakladnih *prosmotrnakladnih = new Prosmotrrashodnakladnih;
      prosmotrnakladnih->show();

      ProsmotrVozvratov *prosmotrvozvratov = new ProsmotrVozvratov;
      prosmotrvozvratov->show();
}
Просмотр темы полностью (откроется в новом окне)
RSS Текстовая версия Сейчас: 20.4.2024, 1:57