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.


Log in to reply
 

Looks like your connection to Qt Forum was lost, please wait while we try to reconnect.