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
Forum Updated to NodeBB v4.3 + New Features

Como preencher um combobox usando um Qvector

Scheduled Pinned Locked Moved Portuguese
22 Posts 11 Posters 9.0k 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