Sinais e Slots com QUiLoader
-
Meu projeto é todo baseado em QUiLoader, ou seja, todas as interfaces são geradas dinamicamente.
Eu criei um formulário com o Qt Creator para que o usuário insira os parâmetros para a conexão com o banco. Quando clicado em [OK] dados de QLineEdit deve ser passado para os QSettings objeto. Como usar sinais e slots com QUiLoader?Abaixo, os meus métodos de configurações de leitura e escrita. writeSettings chama o formulário de configurações.
@ QHash DataAccess::readSettings()
{
QSettings connecsettings( QSettings::IniFormat, QSettings::SystemScope, "Freedom", "TecTracker");QHash<QString, QVariant> *parameter = new QHash<QString, QVariant>(); connecsettings.beginGroup("Connection"); if(!connecsettings.contains("host")) writeSettings(&connecsettings); parameter->insert("host", connecsettings.value("host", "127.0.0.1")); parameter->insert("port", connecsettings.value("port", 5432); parameter->insert("database", connecsettings.value("database")); parameter->insert("user", connecsettings.value("user", "postgres")); parameter->insert("passw", connecsettings.value("passw", "postgres")); connecsettings->endGroup(); return parameter; } void DataAccess::writeSettings(QSettings* settings) { DynamicQtWidgets* guigenerator = new DynamicQtWidgets("configconnec.ui"); QDialog *confconnec = guigenerator->createWidget(); confconnec->show(); }
@
Pesquisando o fórum eu encontrei um "tópico":http://qt-project.org/forums/viewthread/31605 semelhante. mas as respostas não me ajudaram. Há uma resposta indicando que os sinais e slotes podem ser implementado no arquivo ui. Como fazer isso com o Qt Creator? Estaria na aba "Sinais & Slots Editor" do modo de designer?
!http://i58.tinypic.com/2mgw3l0.png(Signals & Slots)! -
Looks like this question is repeat of what you posted in English forum.
-
Procuro uma forma de manter essa conexão dentro do arquivo ui
@<sender>qdbb_okcancel</sender>
<signal>accept()</signal>
<receiver>MyClass</receiver>
<slot>setSettings()</slot>@Ou seja, eu crio um slot em minha classe, e no arquivo ui ficaria definido a conexão entre o sinal e slot.