textbrowser中显示textedit中的内容

rabbitjerry 2015-05-20 08:49:09
刚开始学习QT,所以问题可能有些弱,请大家原谅。

我的目的是:在ui中添加一个textedit、textbrowser和一个pushbutton。在textedit中输入文本,点击pushbutton后,textbrowser中显示textedit中输入的文本。

做法和代码如下,但运行后点击按钮没有任何响应。

新建了一个mainwindow工程。在mainwindow.ui中拖了一个textEdit、pushButton和textBrowser。
然后改写h文件和cpp文件如下:(原内容未变,补充的内容后面有注释)
mainwindow.h

#ifndef MAINWINDOW_H
#define MAINWINDOW_H
#include <QMainWindow>
namespace Ui {
class MainWindow;
}
class MainWindow : public QMainWindow
{
Q_OBJECT
public:
explicit MainWindow(QWidget *parent = 0);
~MainWindow();
private:
Ui::MainWindow *ui;

public:
int OnButtonClicked(); //增加的内容
};
#endif // MAINWINDOW_H

main.cpp未做改动

#include "mainwindow.h"
#include <QApplication>
int main(int argc, char *argv[])
{
QApplication a(argc, argv);
MainWindow w;
w.show();
return a.exec();
}

mainwindow.cpp中添加了connect函数和响应的函数定义。

#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(OnButtonClicked())); //增加的内容
}
MainWindow::~MainWindow()
{
delete ui;
}
int MainWindow::OnButtonClicked() //增加的函数定义
{
QString ss = ui->textEdit->toPlainText();
ui->textBrowser->setText(ss);
return 0 ;
}
...全文
2427 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
missmuses 2017-09-19
  • 打赏
  • 举报
回复
mainwindow.h中 public: int OnButtonClicked(); //增加的内容 //上面的为你的代码 应该为 public: void OnButtonClicked();//槽函数是没有返回值的
小K小Q 2015-06-17
  • 打赏
  • 举报
回复
头文件的 OnButtonClicked() 函数 上面的public 改为private slots:
八千米丶 2015-05-27
  • 打赏
  • 举报
回复
我试了下 删掉 可以实现功能
八千米丶 2015-05-27
  • 打赏
  • 举报
回复
楼主 把最后的return 0;去掉 曹函数是无返回值的

16,212

社区成员

发帖
与我相关
我的任务
社区描述
Qt 是一个跨平台应用程序框架。通过使用 Qt,您可以一次性开发应用程序和用户界面,然后将其部署到多个桌面和嵌入式操作系统,而无需重复编写源代码。
社区管理员
  • Qt
  • 亭台六七座
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧