Skip to content
  • Categories
  • Recent
  • Tags
  • Popular
  • Users
  • Groups
  • Search
  • Get Qt Extensions
  • Unsolved
Collapse
Brand Logo
  1. Home
  2. International
  3. Italian
  4. Non riesco a vedere gli oggetti dichiarati nel form
Forum Updated to NodeBB v4.3 + New Features

Non riesco a vedere gli oggetti dichiarati nel form

Scheduled Pinned Locked Moved Italian
3 Posts 2 Posters 1.7k 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.
  • E Offline
    E Offline
    etognoni
    wrote on last edited by
    #1

    Ciao ho creato un mainwindow.ui con
    1 lineEdit
    2 pushButton
    3 label

    Ho creato lo slot clicked con qtcreator

    il main.cpp è:
    @#include "mainwindow.h"
    #include <QApplication>

    int main(int argc, char *argv[])
    {
    QApplication a(argc, argv);
    MainWindow w;
    w.show();

    return a.exec&#40;&#41;;
    

    }@

    mentre mainwindow cpp

    @#include "mainwindow.h"
    #include "ui_mainwindow.h"

    MainWindow::MainWindow(QWidget *parent) :
    QMainWindow(parent),
    ui(new Ui::MainWindow)
    {
    ui->setupUi(this);
    connect(ui->pushButton, SIGNAL(clicked()), this, SLOT(on_pushButton_clicked()));

    }

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

    void MainWindow::on_pushButton_clicked()
    {
    //if(ui->lineEdit->text().length() > 0 )
    //{
    ui->label->text() = ui->lineEdit->text();
    ui->lineEdit->text() = "Ciao!";
    //lbItems->insertItem( leItem->text() );
    //((leItem->clear();
    //}

    }@

    connect l'ho scritta manualmente non so come farla apparire direttamente con una funzione del qtcreator dalla vista del form. Se debug attivo entra in on_pushbuttonclicked() ma non riesco a capire come vedere e manipolare i valori degli oggetti.

    se provo a lasciare lineEdit->text() senza ui-> davanti non è presente nello scope, è come se dovessi ridichiarare gli oggetti all'interno della funzione, con ui. davanti li compila ma poi non mi funziona è come se fossero oggetti diversi.
    Mi sfugge un passaggio o + di uno, un aiuto è gradito :)

    ciao e grazie

    1 Reply Last reply
    0
    • N Offline
      N Offline
      nologinma
      wrote on last edited by
      #2
      1. inserisci se non l'hai fatto la seguente dichiarazione nel file mainwindow.h

      @private slots:
      void on_pushButton_clicked();@

      1. cambia il codice del programma mainwindow.cpp nel seguente modo

      @#include "mainwindow.h"
      #include "ui_mainwindow.h"

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

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

      void MainWindow::on_pushButton_clicked()
      {
      ui->label->setText("Io sono una label");
      ui->lineEdit->setText("Io sono il contenuto dell TextEdit");

      }@

      per leggere il contenuto dell'oggetto lineEdit usa la funzione text() inq questo modo:

      @qDebug() << ui->lineEdit->text();@

      Ovviamente in questo caso il risultato non viene mostrato a video ma nella console di qt (in questo caso mon dimenticare di inserire #include <QDebug> nel file mainwindow.h .

      1 Reply Last reply
      0
      • E Offline
        E Offline
        etognoni
        wrote on last edited by
        #3

        Grazie della risposta e del consiglio della linea qDebug() << ui->lineEdit->text();

        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