Skip to content
  • Categories
  • Recent
  • Tags
  • Popular
  • Users
  • Groups
  • Search
  • Get Qt Extensions
  • Unsolved
Collapse
Brand Logo
  1. Home
  2. Qt Development
  3. General and Desktop
  4. Use all the selected values ​​in another method.
Forum Updated to NodeBB v4.3 + New Features

Use all the selected values ​​in another method.

Scheduled Pinned Locked Moved General and Desktop
2 Posts 2 Posters 763 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.
  • D Offline
    D Offline
    david_aa
    wrote on last edited by
    #1

    I have a basic layout window with a toolbar. This tool bar with the following options:
    Save
    Retrieve> Packet Data
    Help

    When I click on "Recover > Packet Data" opens a new modal window with a form containing the following: QCalendar start, end QCalendar, QTime start, end QTime and other fields.

    My code looks like this:

    @
    CARUIDataPackFilter::CARUIDataPackFilter(QWidget *parent)
    : QDialog(parent)
    {
    ui.setupUi(this);

    // List all types of packages on a listWidget
    string a_app; // Em branco, obtem todos

    vector<string> ListPacotesDB;
    m_objDataPck.GetPacketTypes(a_app, ListPacotesDB);

    for (int i=0;i<ListPacotesDB.size();i++)
    {
    ui.m_listPacote->addItem(ListPacotesDB[i].c_str());
    }

    // List all stations on a listWidget
    vector<string> ListaEstacoesDB;
    m_objDataPck.GetGroundStations(ListaEstacoesDB);

    for (int i=0;i<ListaEstacoesDB.size();i++)
    {
    ui.m_listGS->addItem(ListaEstacoesDB[i].c_str());
    }

    // Sets initial values ​​of the fields of dialogue - Initial and Final Time
    QString a_initialTime = "00:00:00.000";
    QTime initialTime = QTime::fromString(a_initialTime, "hh:mm:ss.zzz");
    ui.m_initialTime->setTime(initialTime);

    QString a_finalTime = "23:59:59.999";
    QTime finalTime = QTime::fromString(a_finalTime, "hh:mm:ss.zzz");
    ui.m_finalTime->setTime(finalTime);

    connect(ui.m_buttonOk, SIGNAL(clicked()), this, SLOT(OnBnClickedOk()));

    }

    CARUIDataPackFilter::~CARUIDataPackFilter()
    {

    }

    void CARUIDataPackFilter::OnBnClickedOk()
    {

    // Recover the start date of QCalendarWidget
    QString m_DateInitial = ui.m_initialDate->selectedDate().toString("dd/MM/yyyy");
    string dateInitial = m_DateInitial.toStdString();

    // Recover the end date of QCalendarWidget
    QString m_DateFinal = ui.m_finalDate->selectedDate().toString("dd/MM/yyyy");
    string dateFinal = m_DateFinal.toStdString();

    // Recover the start time of QTimeEdit
    QString m_TimeInitial = ui.m_initialTime->time().toString("hh:mm:ss.zzz");
    string hourInitial = m_TimeInitial.toStdString();

    // Recover the end time of QTimeEdit
    QString m_TimeFinal = ui.m_finalTime->time().toString("hh:mm:ss.zzz");
    string hourFinal = m_TimeFinal.toStdString();

    // Recover, concatenates the start Date and start Time and converts to CSPTDateTime
    CSPTDateTime objDateInitial;
    dateInitial += " " + hourInitial;
    objDateInitial.SetYMD(dateInitial, 2);

    // Recover, concatenates the end Date and end Time and converts to CSPTDateTime
    CSPTDateTime objDateFinal;
    dateFinal += " " + hourFinal;
    objDateFinal.SetYMD(dateFinal, 2);

    // Concatenates the variable 'm_LinhaComando' the date and start time with the end date and time
    m_LinhaComando =(QString) dateInitial.c_str();
    m_LinhaComando+= ";";
    m_LinhaComando+=(QString) dateFinal.c_str();

    // Extract (packet ID) string coming from the filter
    m_LinhaComando += ";";
    QString m_IdPacote = ui.m_lineIdPacote->text();
    m_LinhaComando += m_IdPacote;

    // Returns all selected items in QListWidget (Package Types)
    QList<QListWidgetItem *> itemList = ui.m_listPacote->selectedItems();

    m_LinhaComando += ";";  
    for(int i=0; i<itemList.size(); i++)
    {
       m_LinhaComando += itemList.at(i)->text();
       if (i < itemList.size())
          m_LinhaComando += ";";
    }
    

    // Returns all selected items in QListWidget (Types Stations)
    itemList = ui.m_listGS->selectedItems();

    for(int i=0; i<itemList.size(); i++)
    {
    m_LinhaComando += itemList.at(i)->text();
    if(i < itemList.size())
    m_LinhaComando += ";";
    }

    // Returns all selected items in QListWidget
    itemList = ui.m_listTipoCom->selectedItems();

    for(int i=0; i<itemList.size(); i++)
    {
    m_LinhaComando += itemList.at(i)->text();
    if(i < itemList.size())
    m_LinhaComando += ";";
    }
    }
    @

    Now I did the following:

    I need to return this variable m_linhaComando, so that when the "ok" button is pressed I can use all the selected values ​​in another method.

    Can you help me?

    @QString CARUIDataPackFilter::GetDataPack()
    {
    m_LinhaComando;
    }@

    1 Reply Last reply
    0
    • SGaistS Offline
      SGaistS Offline
      SGaist
      Lifetime Qt Champion
      wrote on last edited by
      #2

      Hi,

      AFAICS you are just missing "return" in your getter

      Interested in AI ? www.idiap.ch
      Please read the Qt Code of Conduct - https://forum.qt.io/topic/113070/qt-code-of-conduct

      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