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.3k 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.
  • L Offline
    L Offline
    lima_will
    wrote on last edited by
    #3

    TioRoy,

    Foi teste mesmo, imaginei que estava errado mesmo o laço de repetição mas estava sem ideias de como fazer.

    Cara poderia me dar um exemplo de como faria para preencher com um QStringList? Pois quando estava testando não consegui incluir varios (neste caso) IPs em uma lista, somente um susbstituindo o outro.

    1 Reply Last reply
    0
    • 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