首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 操作系统 > UNIXLINUX >

QT中怎么让一个按钮单击后更新一个TextEdit

2012-03-13 
QT中如何让一个按钮单击后更新一个TextEdit我的程序如下,想让BUTTON CLICKED后让pTextEdit2显示pTextEdit1

QT中如何让一个按钮单击后更新一个TextEdit
我的程序如下,想让BUTTON CLICKED后让pTextEdit2显示pTextEdit1的内容,不知道哪里做错了 
才用QT,不是很了解,希望大家帮忙看看 


C/C++ code
#include <QT/QApplication.h>#include <QT/QPushButton.h>#include <QT/QTextEdit.h>#include <string>class MyWidget : public QWidget{private:    QTextEdit *pText1,*pText2;    QPushButton *pButton;public:    MyWidget(QWidget* parent);    ~MyWidget();public slots:    void buttonPressed();};MyWidget::MyWidget(QWidget* parent):QWidget(parent){    setFixedSize(300,300);        pText1 = new QTextEdit("Edit1",this);    pText2 = new QTextEdit("Edit2",this);    pButton = new QPushButton("Button",this);        pText1->resize(100,100);    pText1->setGeometry(0,0,100,100);        pText2->resize(100,100);    pText2->setGeometry(120,0,100,100);        pButton->resize(100,30);    pButton->setGeometry(10,200,100,30);        QObject::connect(pButton,SIGNAL(clicked()),this,SLOT(buttonPressed()));}MyWidget::~MyWidget(){    delete pText1;    delete pText2;    delete pButton;}void MyWidget::buttonPressed(){    pText2->setText(pText1->toPlainText());}int main(int argc, char *argv[]){    QApplication app(argc, argv);        QWidget window;        window.resize(400,400);    MyWidget my_widget(&window);    my_widget.setGeometry(10,10,300,300);    window.show();    return app.exec();}





[解决办法]
确实是刚接触QT
QT 对自定义SLOT 是有要求的
1 在类中引用 Q_OBJECT 宏
2 类声名要单独放到一个.H 文件中去

我将你的代码改动后,成功执行!

另注:QT3和QT4有很多不同,建议使用比较新一写的版本.

热点排行