crossplatform.ru

Здравствуйте, гость ( Вход | Регистрация )

kir
  опции профиля:
сообщение 21.2.2009, 15:58
Сообщение #1


Студент
*

Группа: Новичок
Сообщений: 11
Регистрация: 21.2.2009
Пользователь №: 569

Спасибо сказали: 0 раз(а)




Репутация:   0  


только начал изучать qt и не пойму некоторые моменты
например скопировать текст из одного Lineedit в другой или в textedit или в Lable...проект в mvc 2008, делаю форму и создаю свой слот с помощью qt designer, добавляю слот в public stots и в testapp.cpp реализация слота.
ui_testapp.h файл генерирует дезайнер

/********************************************************************************
** WARNING! All changes made in this file will be lost when recompiling ui file!
********************************************************************************/
#ifndef UI_TESTAPP_H
#define UI_TESTAPP_H

#include <QtCore/QVariant>
#include <QtGui/QAction>
#include <QtGui/QApplication>
#include <QtGui/QButtonGroup>
#include <QtGui/QLineEdit>
#include <QtGui/QMainWindow>
#include <QtGui/QMenuBar>
#include <QtGui/QPushButton>
#include <QtGui/QStatusBar>
#include <QtGui/QToolBar>
#include <QtGui/QWidget>

QT_BEGIN_NAMESPACE

class Ui_testAppClass
{
public:
    QWidget *centralWidget;
    QPushButton *push;
    QLineEdit *lineEdit;
    QLineEdit *lineEdit_2;
    QMenuBar *menuBar;
    QToolBar *mainToolBar;
    QStatusBar *statusBar;
    
    void setupUi(QMainWindow *testAppClass)
    {
    if (testAppClass->objectName().isEmpty())
        testAppClass->setObjectName(QString::fromUtf8("testAppClass"));
    testAppClass->resize(600, 400);
    centralWidget = new QWidget(testAppClass);
    centralWidget->setObjectName(QString::fromUtf8("centralWidget"));
    push = new QPushButton(centralWidget);
    push->setObjectName(QString::fromUtf8("push"));
    push->setGeometry(QRect(210, 120, 75, 23));
    lineEdit = new QLineEdit(centralWidget);
    lineEdit->setObjectName(QString::fromUtf8("lineEdit"));
    lineEdit->setGeometry(QRect(90, 120, 113, 20));
    lineEdit->setStyleSheet(QString::fromUtf8("color: qradialgradient(spread:repeat, cx:0.5, cy:0.5, radius:0.077, fx:0.5, fy:0.5, stop:0 rgba(0, 169, 255, 147), stop:0.497326 rgba(0, 0, 0, 147), stop:1 rgba(0, 169, 255, 147));\n"
"background-color: rgb(29, 44, 255);"));
    lineEdit_2 = new QLineEdit(centralWidget);
    lineEdit_2->setObjectName(QString::fromUtf8("lineEdit_2"));
    lineEdit_2->setGeometry(QRect(300, 120, 113, 20));
    testAppClass->setCentralWidget(centralWidget);
    menuBar = new QMenuBar(testAppClass);
    menuBar->setObjectName(QString::fromUtf8("menuBar"));
    menuBar->setGeometry(QRect(0, 0, 600, 22));
    testAppClass->setMenuBar(menuBar);
    mainToolBar = new QToolBar(testAppClass);
    mainToolBar->setObjectName(QString::fromUtf8("mainToolBar"));
    testAppClass->addToolBar(Qt::TopToolBarArea, mainToolBar);
    statusBar = new QStatusBar(testAppClass);
    statusBar->setObjectName(QString::fromUtf8("statusBar"));
    testAppClass->setStatusBar(statusBar);
   
QObject::connect(push, SIGNAL(clicked()), testAppClass, SLOT(push_copy())); //созданное соединение

   
 retranslateUi(testAppClass);

    QMetaObject::connectSlotsByName(testAppClass);
    } // setupUi

    void retranslateUi(QMainWindow *testAppClass)
    {
    testAppClass->setWindowTitle(QApplication::translate("testAppClass", "testApp", 0, QApplication::UnicodeUTF8));
    push->setText(QApplication::translate("testAppClass", "=>", 0, QApplication::UnicodeUTF8));
    Q_UNUSED(testAppClass);
    } // retranslateUi

};

namespace Ui {
    class testAppClass: public Ui_testAppClass {};
} // namespace Ui

QT_END_NAMESPACE

#endif // UI_TESTAPP_H


testapp.h

#ifndef TESTAPP_H
#define TESTAPP_H

#include <QtGui/QMainWindow>
#include "ui_testapp.h"

class testApp : public QMainWindow
{
    Q_OBJECT

public:
    testApp(QWidget *parent = 0, Qt::WFlags flags = 0);
    ~testApp();
    
private:
    Ui::testAppClass ui;

public slots:  //объявление слота
        void push_copy();

};

#endif // TESTAPP_H


testapp.cpp

#include "testapp.h"
#include <QMessageBox>

testApp::testApp(QWidget *parent, Qt::WFlags flags)
    : QMainWindow(parent, flags)
{
    ui.setupUi(this); 
}

testApp::~testApp()
{

}
void testApp::push_copy() //реализация слота
{
    
    QString const szText=lineEdit->text();
    lineEdit_2->setText(szText);
    //QMessageBox::information(this,"test","box");
}

слот срабатывает, месаджбох вылетает... книги читал, там делают по другому, но хочется использовать дезайнер при создании приложения, а не писать код интерфейса вручную...
error C2065: lineEdit: необъявленный идентификатор. как правильно обращаться к элементам управления?
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение

Сообщений в этой теме


Быстрый ответОтветить в данную темуНачать новую тему
Теги
Нет тегов для показа


1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0


RSS Рейтинг@Mail.ru Текстовая версия Сейчас: 4.5.2025, 12:53