Qt textChange() in QTextEdit
Qt textChange() in QTextEdit
我写了这段代码,但当我在TextEdit中更改文本时,什么也没发生。我做错了什么?我试过使用这个->update()和widget->update(。。。
主窗口.h:
#ifndef MAINWINDOW_H
#define MAINWINDOW_H
#include <QMainWindow>
#include <QTextEdit>
#include <QPushButton>
#include <QWidget>
#include <QVBoxLayout>
class MainWindow : public QMainWindow
{
Q_OBJECT
QTextEdit *edit;
QPushButton *pb;
QWidget *widget;
QVBoxLayout *layout;
void changeCaption();
public:
MainWindow(QWidget *parent = 0);
~MainWindow();
};
#endif // MAINWINDOW_H
mainwindow.cpp:
#include "mainwindow.h"
MainWindow::MainWindow(QWidget *parent)
: QMainWindow(parent)
{
edit = new QTextEdit;
pb = new QPushButton("HEHE");
widget = new QWidget;
layout = new QVBoxLayout(widget);
layout->addWidget(edit);
layout->addWidget(pb);
this->setCentralWidget(widget);
connect(edit, SIGNAL(textChanged()), this, SLOT(chngeCaption));
}
MainWindow::~MainWindow()
{
}
void MainWindow::changeCaption(){
pb->setText("CHANGED");
}
首先,您应该将changeCaption
函数定义为.h文件中的插槽:
private slots:
void changeCaption();
第二CCD_ 2信号具有CCD_。还要更正connect语句中插槽名称的拼写错误:
connect(edit, SIGNAL(textChanged(QString)), this, SLOT(changeCaption()));
最好使用Qt5语法,因为它有助于在编译时检测此类错误并简化代码:
connect( edit, &QLineEdit::textChanged, this, &MainWindow::changeCaption );
相关文章:
- netcat command in c++
- Difference in displaying cv2 Mat
- C++ MFC Libraries in Travis CI
- 如何在OpenSSL中从configuration.h.in获取configuration.h
- 创建具有 new in 函数和"this is nullptr"异常的对象
- IN, OUT, INOUT Parameters
- 应用程序崩溃并显示"symbol _ZdlPvm, version Qt_5 not defined in file libQt5Core.so.5 with link time reference"
- 有人安装"IITB Simplecpp in mac"吗?
- 从 C 样式字符串中删除子字符串 "in place" 在C++代码中
- 如何修复"error: ‘_1’ was not declared in this scope"?
- Softmax Implementation in C++
- 将 out/in out 参数与 if/switch 的 init 语句一起使用
- IF-nesting in c++
- Gurobi GRBModel and GRBmodel in C++
- Tensorflow Hub in C++
- Centos7 g++ "to_string is not in a member of std"
- InitializeCriticalSectionEx Not Located In KERNEL32.Dll
- 将 lambda 表达式传递给 std::function in C++
- 在 QTextEdit 中使用指针或在 Qt-Creator 上使用 connect()
- Qt textChange() in QTextEdit