Я пытаюсь подключить 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
. Тогда вам не нужно писать деструктор. Вам все еще нужен деструктор, просто он пустой, и вы никогда не забудете удалить пользовательский интерфейс. - person Kuba hasn't forgotten Monica   schedule 01.04.2014