Название: Открытие существующего окна Отправлено: kadr от Июнь 24, 2009, 17:25 Есть виджет find_list.ui, и главное окно, на котором есть меню, в котором при нажатии на кнопку должно открываться уже созданое окно.
QWidget *widget = new QWidget; widget->show(); Открывает новый виджет, как сделать так что бы открывался уже существующий виджет find_list.ui ??? Название: Re: Открытие существующего окна Отправлено: denka от Июнь 24, 2009, 17:41 О тебе на этот вопрос давали ответ в другом топике. Я так понимаю ты до сих пор не разобрался с темой.
Просьба выложить find_list.ui. Попробуем решить твою проблему :) Название: Re: Открытие существующего окна Отправлено: kadr от Июнь 24, 2009, 18:04 нет, так и не разобрался, я конечно нашел как открывать новый виджет, но пока не пойму, как открыть уже существующий виджет! Что конкретно надо выложить?
Название: Re: Открытие существующего окна Отправлено: denka от Июнь 24, 2009, 18:10 Выложи find_list.ui
Название: Re: Открытие существующего окна Отправлено: denka от Июнь 24, 2009, 19:30 У тебя должен быть .h файл типа такого
Код: #include "ui_find_list.h" и .cpp типа такого Код: FindList::FindList(QWidget * parent, Qt::WindowFlags f):QWidget(parent, f) Название: Re: Открытие существующего окна Отправлено: denka от Июнь 24, 2009, 19:36 Ах да советую посмотреть вот это http://doc.qtsoftware.com/4.5/layout.html (http://doc.qtsoftware.com/4.5/layout.html)
Название: Re: Открытие существующего окна Отправлено: kadr от Июнь 30, 2009, 20:40 Привет всем, наконец то сделал так что бы у меня открывалось нужное мне окно, только почему то никакие события на нем не обрабатываются, на форме должен поизводиться поиск из фойла при нажатии на кнопку:
Код
Но почему то ничего не происходит, в чем может быть проблема, подскажите пожалуйста! Название: Re: Открытие существующего окна Отправлено: Авварон от Июль 01, 2009, 10:43 вставь qDebug. Что пишет connect?
Название: Re: Открытие существующего окна Отправлено: mugabe от Июль 01, 2009, 11:14 И есть ли вообще connect?
А если нет, то стоит ли autoconnect? Название: Re: Открытие существующего окна Отправлено: kadr от Июль 01, 2009, 16:59 Нет connect не использовал, а зачем, он открывает нужную мне форму, вот только на ней ничего не работает, нажимаю кнопку, должен произойти выбор записей из файла, а ничего не происходит, не реагирует!
Название: Re: Открытие существующего окна Отправлено: denka от Июль 01, 2009, 17:39 Как у тебя что среагирует если ты не соединил нужный сигнал со слотом?
Сделай on_pushButton_clicked() слотом, если она до сих пор им не является. А перед вызовом show() добавь строку: Код: connect(btn, SIGNAL(clicked()), widget, SLOT(on_pushButton_clicked())); где btn это та кнопка на которую ты жмешь Название: Re: Открытие существующего окна Отправлено: kadr от Июль 01, 2009, 18:21 У меня есть три окна, главное, поиск по дате и поиск по параметру, так вот на главном есть меню - называется действие, там есть подпункты поиск по дате и поиск по параметру, так вот при нажатии на любом из них открывается соответствующее окно, на котором расположена форма поиска, и есть кнопка Поиск, при нажатии на которую должно выполнятся вот это:
void find_list::on_pushButton_clicked() { QString date_s = m_ui->date_s->text(),date_po,str = m_ui->date_po->text(); QFile file("tovars.txt"); QByteArray line; QStringList spl; int sum = 0,row = 0; if (!file.open(QIODevice::ReadOnly | QIODevice::Text)) { QMessageBox::warning(this,"Error","File is not opening",QMessageBox::Ok); return; } while (!file.atEnd()) { line = file.readLine(); line.trimmed(); str.clear(); str.append(line); str.trimmed(); spl = str.split("|"); str = spl.value(2); str.trimmed(); QMessageBox::warning(this,str,date_s,QMessageBox::Ok); if ((str>=date_s) && (str<=date_po)) { spl.clear(); str.clear(); str.append(line); spl = str.split("|"); str.clear(); str = spl.value(1); sum +=str.toInt(); m_ui->pole->setItem(row,0, new QTableWidgetItem(spl.value(0))); m_ui->pole->setItem(row,1, new QTableWidgetItem(spl.value(1))); m_ui->pole->setItem(row,2, new QTableWidgetItem(spl.value(2))); row++; } } m_ui->lcd->display(row); str.clear(); m_ui->itog->setText(str.setNum(sum)); Но ничего не происходит, даже не выводится никакого сообщения QMessageBox::warning(this,str,date_s,QMessageBox::Ok), будто не реагирует, почему не пойму! Название: Re: Открытие существующего окна Отправлено: denka от Июль 01, 2009, 18:37 Я ведь тебе написал что тебе надо сделать. Законекть сигнал clicked() со своей кнопки "Поиск" с нужным слотом и все
|