Qt-2类信号和插槽

高手

我正在“玩” Qt中的信号和插槽。我做了2个类(MainWindow,DatabaseManager)

数据库管理器

class DatabaseManager : public QObject
{
    Q_OBJECT
    QSqlDatabase database;
public:
    DatabaseManager();
signals:
    void TextSignal(const QString);
};

databasemanager.cpp

DatabaseManager::DatabaseManager()
{
    database = QSqlDatabase::addDatabase("QSQLITE");
    database.setDatabaseName("database.sqlite");

    if( !database.open() )
        qDebug() << "Cannot open connection with database";
    else
    {
        emit TextSignal("Connected");
        qDebug() << "Connected";
    }
}

主窗口

class MainWindow : public QMainWindow
{
   Q_OBJECT

public:
   explicit MainWindow(QWidget *parent = 0);
   ~MainWindow();

private slots:
   void WriteText(const QString text);

private:
   Ui::MainWindow *ui;
   DatabaseManager db;
};

主窗口

MainWindow::MainWindow(QWidget *parent) :
QMainWindow(parent),
ui(new Ui::MainWindow)
{
   ui->setupUi(this);
   QObject::connect(&db,SIGNAL(TextSignal(QString)),this,SLOT(WriteText(QString)) );
}

void MainWindow::WriteText(const QString text)
{
   ui->textEdit->append(text);
}

这是我的问题-我做错了什么?在调试时,在调试窗口中会打印文本“已连接”,但不会在textEdit中显示。

彻克斯吉勒

db对象的构造函数在调用之前(甚至在mainWindow构造函数和setupUi之前调用)。

private:Ui :: MainWindow * ui; DatabaseManager db;

QObject :: connect(&db,SIGNAL(TextSignal(QString)),this,SLOT(WriteText(QString))

在连接之前和创建ui-> textEdit之前发出了信号。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

第二类内的QT信号和插槽

来自分类Dev

Qt信号和插槽:权限

来自分类Dev

Qt插槽和信号语法

来自分类Dev

Qt信号和插槽故障

来自分类Dev

信号和插槽 qt 关闭插槽

来自分类Dev

Qt:哪个类应该connect()信号和插槽-在视图类的内部还是外部?

来自分类Dev

Qt:哪个类应该connect()信号和插槽-在视图类的内部还是外部?

来自分类Dev

QT5中的信号和插槽

来自分类Dev

Qt:连接文本中的信号和插槽

来自分类Dev

Qt信号和插槽传递数据

来自分类Dev

在QT中清除信号和插槽的命名

来自分类Dev

Qt插槽和信号。获取插槽接收器对象

来自分类Dev

Qt信号/插槽问题

来自分类Dev

直接调用函数与发出信号(Qt-信号和插槽)

来自分类Dev

Qt插槽和信号未连接:无此信号

来自分类Dev

Qt 5.3信号和插槽,简单函数和Lambda表达

来自分类Dev

信号和插槽编辑按钮被禁用(Qt Designer 4.8)

来自分类Dev

如何在Qt中创建动态信号和插槽?

来自分类Dev

使用Qt信号和插槽与直接调用方法

来自分类Dev

如何更改QT中信号和插槽的时序?

来自分类Dev

Qt信号和插槽-没有匹配的通话功能

来自分类Dev

Qt信号和插槽:如何获取已更改的数据?

来自分类Dev

不同类别的QT信号和插槽

来自分类Dev

Qt 插槽和信号:MainWindow 中没有匹配函数

来自分类Dev

连接信号和插槽不起作用 Qt

来自分类Dev

QT- 信号和插槽 setEnabled(bool) 插槽不起作用

来自分类Dev

如何使用QT Designer和Visual Studio连接Qt信号和插槽

来自分类Dev

Qt信号插槽:发送信号但未调用插槽

来自分类Dev

Qt转发信号/插槽连接