我正在尝试将
如果我使用
QTextEdit
连接到QTextBrowser
,以便文本浏览器小部件输出文本编辑小部件中输入的内容。我使用了textChanged()
作为信号,setText(QString)
作为插槽。但是这两个函数的参数不同。如果我使用
QLineEdit
而不是QTextEdit
,那么就有一个与插槽兼容的textChanged(QString)
函数。但是我需要让它能够与QTextEdit
一起使用。以下是代码:#include "mainwindow.h"
#include "ui_mainwindow.h"
#include <QtWidgets>
MainWindow::MainWindow(QWidget *parent) :
QMainWindow(parent),
ui(new Ui::MainWindow)
{
QWidget * mainWidget=new QWidget(this);
ui->setupUi(this);
QTextEdit * mainTextEdit=new QTextEdit();
QTextBrowser * textDisplay=new QTextBrowser();
connect(mainTextEdit,SIGNAL( textChanged() ),
textDisplay,SLOT( setText(QString) ) );
QHBoxLayout * Alayout=new QHBoxLayout();
Alayout->addWidget(mainTextEdit);
Alayout->addWidget(textDisplay);
mainWidget->setLayout(Alayout);
setCentralWidget(mainWidget);
}
MainWindow::~MainWindow()
{
delete ui;
}
MainWindow
声明更改为使用QScopedPointer<Ui::MainWindow> ui
而不是Ui::MainWindow * ui
。然后您就不需要编写一个析构函数了。您仍然需要一个析构函数,只是它是空的,您永远不会忘记删除ui。 - undefined