Skip to content
  • Categories
  • Recent
  • Tags
  • Popular
  • Users
  • Groups
  • Search
  • Get Qt Extensions
  • Unsolved
Collapse
Brand Logo
  1. Home
  2. International
  3. Portuguese
  4. Como preencher um combobox usando um Qvector

Como preencher um combobox usando um Qvector

Scheduled Pinned Locked Moved Portuguese
22 Posts 11 Posters 9.8k Views 1 Watching
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • V Offline
    V Offline
    volnei
    wrote on last edited by
    #4

    Olá,

    Veja se esse exemplo se aplica ao seu caso:
    @
    // Use o seu combo já definido
    QComboBox *comboBox = new QComboBox;

    // C++11 compativel
    QStringList list = {
    "192.168.1.1" ,
    "192.168.1.2",
    "192.168.1.3"
    };

    // Insere a lista a partir do index 0 (zero)
    comboBox->insertItems(0,list);
    @

    Nota: Para compilar código C++11 coloque no seu arquivo .pro: @QMAKE_CXXFLAGS += -std=c++11@

    1 Reply Last reply
    0
    • L Offline
      L Offline
      lima_will
      wrote on last edited by
      #5

      Volnei,

      O problema que o corre é que fiz uma tela para o usuario digitar esses dados em um textEdit, dele quero jogar em um QStringList e depois jogar em um combobox por isso não dá para usar:

      @ // C++11 compativel
      QStringList list = {
      "192.168.1.1" ,
      "192.168.1.2",
      "192.168.1.3"
      };@

      1 Reply Last reply
      0
      • V Offline
        V Offline
        volnei
        wrote on last edited by
        #6

        você usa algum separador? tipo espaço em branco ou virgulas?
        Se sim, pode fazer assim então:

        Presumo que o usuário irá digitar por no textEdit assim:

        192.168.1.1,192.168.1.2,192.168.1.3

        Fazer isso passar online para o combo não é um boa opção por questões do usuário
        poder errar e corrigir o texto. Então digamos que após ele terminar de digitar ele
        aperte um botão. Ok?

        @
        /* Na funcao membro que executa o código do botao
        codifique algo assim
        */
        QStringList list;

        /* O 'simplified' e para tirar espacoes em branco desnecessarios

        • o split(',') ira separar o texto assim com se digitasse assim:
        • list << "IP1" << "IP2" << "IP3" ... ;
        • Se o separador for outro caractér simplesmente troque-o.
        • Se for espaco em branco, tire o 'simplified()' use apenas o spli(' ')
          */
          list = textEdit->toPlainText().simplified().split(',');
          comboBox->clear(); // limpa antes de colocar os novos valores
          comboBox->insertItems(0,list);
          @
        1 Reply Last reply
        0
        • T Offline
          T Offline
          TioRoy
          wrote on last edited by
          #7

          Ou se você quiser adicionar um item de cada vez:

          @
          QStringList list;

          list << "192.168.0.1";
          list << "192.168.0.2";
          list << "192.168.0.3";
          list << "192.168.0.4";

          @

          1 Reply Last reply
          0
          • L Offline
            L Offline
            lima_will
            wrote on last edited by
            #8

            Caras,

            Valeu mesmo pela ajuda mas para terminar como faria para acessar essa list em outra tela?

            Fiz o seguinte criei um .h com uma variavel extern e dela dento jogo os valores do list nesta variavel e tento capturar na outra tela. Tem o link do projeto aqui:

            https://docs.google.com/file/d/0BwQ4G9j5uY1JUzdfSFlrYTV5V2s/edit?usp=sharing

            1 Reply Last reply
            0
            • V Offline
              V Offline
              volneicp
              wrote on last edited by
              #9

              Bom dia lima_will,

              Procure não usar variáveis globais.
              Bem, você pode passar a sua QStringList como um parâmetro que está definido na classe da janela a ser chamada.
              Por exemplo:
              A classe da Ui a ser camada é incluir_ip() então na definição:
              @
              explicit incluir_ip(QWidget *parent = 0, QStringList list);
              @

              na mainwindow.cpp

              @
              void MainWindow::on_Button_IPS_clicked()
              {
              // ao invés disso
              incluir_ip ips;
              ips.exec();

              // use isso
              incluir_ip *ips = new incluir_ip(this, list);
              incluir_ip->show();
              }
              @

              Isso é apenas uma das várias técnicas existentes para isso.
              Mas eu acho que funcionará bem para você.

              1 Reply Last reply
              0
              • L Offline
                L Offline
                lima_will
                wrote on last edited by
                #10

                Bom dia Volneicp,

                Ontem a noite estava lendo sobre isso que não é aconselhavél usar variaveis globais. Mas cara ainda não deu certo mesmo com suas dicas, segue como está as classes:

                incluir_ip.h
                @#ifndef INCLUIR_IP_H
                #define INCLUIR_IP_H

                #include <QDialog>
                #include <QStringList>

                namespace Ui {
                class incluir_ip;
                }

                class incluir_ip : public QDialog
                {
                Q_OBJECT

                public:
                explicit incluir_ip(QWidget *parent = 0, QStringList list);

                ~incluir_ip();
                

                private slots:
                void on_Botao_incluir_ip_clicked();

                void on_Botao_voltar_ip_clicked();
                
                void on_Botao_incluir_clicked();
                

                private:
                Ui::incluir_ip *ui;
                };

                #endif // INCLUIR_IP_H@

                incluir_ip.cpp
                @#include "incluir_ip.h"
                #include "ui_incluir_ip.h"
                #include <QDebug>

                incluir_ip::incluir_ip(QWidget *parent) :
                QDialog(parent),
                ui(new Ui::incluir_ip)
                {
                ui->setupUi(this);
                }

                incluir_ip::~incluir_ip()
                {
                delete ui;
                }

                void incluir_ip::on_Botao_incluir_ip_clicked()
                {

                }

                void incluir_ip::on_Botao_voltar_ip_clicked()
                {
                QStringList listas;

                listas = ui->textEdit->toPlainText().simplified().split(',');
                qDebug() << listas;
                close();
                

                }

                void incluir_ip::on_Botao_incluir_clicked()
                {
                QString IP;
                IP = ui->Campo_Digitar_ip->text();
                IP += ",";
                IP += "\n";
                QTextCursor cursor(ui->textEdit->textCursor());
                cursor.insertText(IP);
                ui->Campo_Digitar_ip->clear();
                }@

                mainwindows.cpp
                @#include "mainwindow.h"
                #include "ui_mainwindow.h"
                #include "incluir_ip.h"
                #include "Globais.h"

                MainWindow::MainWindow(QWidget *parent) :
                QMainWindow(parent),
                ui(new Ui::MainWindow)
                {
                ui->setupUi(this);

                QStringList list;
                ui->comboBox_IPS->insertItems(0,list);
                

                }

                MainWindow::~MainWindow()
                {
                delete ui;
                }

                void MainWindow::on_Button_IPS_clicked()
                {
                incluir_ip *ips = new incluir_ip(this, list);
                incluir_ip->show();
                }@

                A saida é a seguinte:

                @C:\Users\willian.toledo\Documents\QT\Duvida\incluir_ip.h:16: error: C2548: 'incluir_ip::incluir_ip' : missing default parameter for parameter 2
                C:\Users\willian.toledo\Documents\QT\Duvida\incluir_ip.cpp:7: error: C2511: 'incluir_ip::incluir_ip(QWidget *)' : overloaded member function not found in 'incluir_ip'
                c:\users\willian.toledo\documents\qt\duvida\incluir_ip.h:11: see declaration of 'incluir_ip'
                C:\Users\willian.toledo\Documents\QT\Duvida\incluir_ip.cpp:47: error: C1004: unexpected end-of-file found
                C:\Users\willian.toledo\Documents\QT\Duvida\incluir_ip.h:16: error: C2548: 'incluir_ip::incluir_ip' : missing default parameter for parameter 2
                C:\Users\willian.toledo\Documents\QT\Duvida\mainwindow.cpp:4: error: C1083: Cannot open include file: 'Globais.h': No such file or directory@

                Poderia me mostrar o que fiz de errado dessa vez? E muito grato pela ajuda!

                1 Reply Last reply
                0
                • V Offline
                  V Offline
                  volnei
                  wrote on last edited by
                  #11

                  Oi,

                  Faz o seguinte: Compacta o seu projeto todo e me passa para eu testar aqui.
                  Ai assim que der eu te aviso dos resultados.

                  1 Reply Last reply
                  0
                  • L Offline
                    L Offline
                    lima_will
                    wrote on last edited by
                    #12

                    Cara,

                    Segue o link do projeto:

                    https://docs.google.com/file/d/0BwQ4G9j5uY1JU2tvM1BDenpELXM/edit?usp=sharing

                    Valeu mesmo pela ajuda!

                    1 Reply Last reply
                    0
                    • V Offline
                      V Offline
                      volnei
                      wrote on last edited by
                      #13

                      Oi,

                      Como eu posso devolver o código para você?

                      1 Reply Last reply
                      0
                      • L Offline
                        L Offline
                        lima_will
                        wrote on last edited by
                        #14

                        Volnei,

                        Mandei um e-mail para vc daqui do forum com meu endereço de e-mail pessoal.

                        Muito obrigado pela ajuda cara!!!!

                        1 Reply Last reply
                        0
                        • V Offline
                          V Offline
                          volnei
                          wrote on last edited by
                          #15

                          Lima_will,

                          Desculpe, você pode me enviar o endereço novamente?

                          Obrigado

                          1 Reply Last reply
                          0
                          • N Offline
                            N Offline
                            need4openid
                            wrote on last edited by
                            #16
                            This post is deleted!
                            1 Reply Last reply
                            0
                            • KaramazovK Offline
                              KaramazovK Offline
                              Karamazov
                              Banned
                              wrote on last edited by
                              #17
                              This post is deleted!
                              1 Reply Last reply
                              0
                              • J Offline
                                J Offline
                                John White
                                Banned
                                wrote on last edited by John White
                                #18
                                This post is deleted!
                                1 Reply Last reply
                                0
                                • S Offline
                                  S Offline
                                  Santana5
                                  Banned
                                  wrote on last edited by
                                  #19
                                  This post is deleted!
                                  1 Reply Last reply
                                  0
                                  • P Offline
                                    P Offline
                                    PabelBN
                                    Banned
                                    wrote on last edited by
                                    #20
                                    This post is deleted!
                                    1 Reply Last reply
                                    0
                                    • A Offline
                                      A Offline
                                      Alex Martin
                                      Banned
                                      wrote on last edited by
                                      #21
                                      This post is deleted!
                                      1 Reply Last reply
                                      0
                                      • G Offline
                                        G Offline
                                        gabrielramos21
                                        Banned
                                        wrote on last edited by
                                        #22
                                        This post is deleted!
                                        1 Reply Last reply
                                        0

                                        • Login

                                        • Login or register to search.
                                        • First post
                                          Last post
                                        0
                                        • Categories
                                        • Recent
                                        • Tags
                                        • Popular
                                        • Users
                                        • Groups
                                        • Search
                                        • Get Qt Extensions
                                        • Unsolved