Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   C++ Builder (https://www.clubdelphi.com/foros/forumdisplay.php?f=13)
-   -   Problema con Qt (https://www.clubdelphi.com/foros/showthread.php?t=65099)

ixMike 20-11-2009 00:55:17

Problema con Qt
 
Hola.

Estoy introduciéndome en el entorno de desarrollo de Qt, y me he topado con un problemilla. Estaba haciendo una prueba, un sencillo editor de textos tipo bloc de notas (lo típico, ¿no? jeje). Coloco un QPlaintTextEdit, hago un menú sencillito. La señal del menú salir lo conecto al slot de cerrar de la ventana. Luego modifico el mainwindow.cpp para poder cargar un archivo de texto con el menú abrir. Queda así:

Código:

#include "mainwindow.h" #include "ui_mainwindow.h"
 #include <QFileDialog>


  MainWindow::MainWindow(QWidget *parent)
    : QMainWindow(parent), ui(new Ui::MainWindow)
 {
    ui->setupUi(this);
      connect(action_Abrir,SIGNAL(activated()),this,SLOT(LeerArchivo()));
 }


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

void MainWindow::LeerArchivo()
 {
    QString Archivo;
      Archivo = QFileDialog::getOpenFileName(this, tr("Abrir archivo de texto"), "",
                                            tr("Archivos de texto (*.txt *.text *.wtx);;Archivos INI (*.ini)"));
    CampoTexto->loadResource(Archivo);
 }


Pero a la hora de compilar, me marca los siguientes errores:
Cita:

'action_Abrir' was not declarated in this scope.
'CampoTexto' was not declarated in this scope.
Pero corroboro en el diseñador de interfaz que realmente tienen ese nombre.

¿Qué es lo que pasa?


Saludos.


Edito: por supuesto, en el .h he declarado el slot:

Código:

#ifndef MAINWINDOW_H
#define MAINWINDOW_H

#include <QtGui/QMainWindow>

namespace Ui
{
    class MainWindow;
}

class MainWindow : public QMainWindow
{
    Q_OBJECT

public:
    MainWindow(QWidget *parent = 0);
    ~MainWindow();

private:
    Ui::MainWindow *ui;

public slots:
    void LeerArchivo();
};

#endif // MAINWINDOW_H


aarmalo 20-11-2009 23:35:41

Código:

MainWindow::MainWindow(QWidget *parent)
    : QMainWindow(parent), ui(new Ui::MainWindow)
 {
    ui->setupUi(this);
    connect(ui->actionAbrir,SIGNAL(activated()),SLOT(LeerArchivo()));
 }

Código:

ui->CampoTexto
Pero lo que no se es si te va a servir lo de loadResource como lo quieres usar


Deja le hecho una mirada

Edito:

Código:

{
QString Archivo;
Archivo= QFileDialog::getOpenFileName(this, tr("Abrir archivo de texto"), "",
                                            tr("Archivos de texto (*.txt *.text *.wtx);;Archivos INI (*.ini)"));
QFile file(Archivo);
if (file.open(QIODevice::ReadOnly))
{
    ui->CampoTexto->setText(file.readAll());
}
file.close();
}

Ya es cuestión de agregarle lo necesario para que funcione como debe de ser

ixMike 22-11-2009 18:53:17

Muchísimas gracias! ^^

Será cuestión de ir poco a poco descubriendo los secretillos de Qt ;)


La franja horaria es GMT +2. Ahora son las 20:55:11.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi