QQ登录

只需一步,快速开始

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 2605|回复: 5

QT的槽搞不定了,帮忙啊

[复制链接]
发表于 2007-2-20 19:08:18 | 显示全部楼层 |阅读模式
#include <QApplication>
#include <QPushButton>
#include <QVBoxLayout>
#include <QWidget>
#include <QLineEdit>
#include <QtSql>
#include <QString>

class shiyan : public QWidget
{
QPushButton *charu;
QPushButton *chaxun;
QLineEdit *bianji;
QSqlDatabase db;
QSqlQuery query;
public:
     shiyan(QWidget *parent = 0);
public slots:
     void charuzhi(void);
void huoquzhi(void);
};

shiyan::shiyan(QWidget *parent)
     : QWidget(parent)
{
     charu = new QPushButton("charu");
chaxun = new QPushButton("chaxun");
bianji = new QLineEdit();

     QVBoxLayout *layout = new QVBoxLayout;
     layout->addWidget(bianji);
     layout->addWidget(charu);
     layout->addWidget(chaxun);
     setLayout(layout);

db = QSqlDatabase::addDatabase("QSQLITE");
     db.setDatabaseName("zzh");
          db.open();

connect(charu, SIGNAL(clicked()),bianji, SLOT(charuzhi()));
connect(chaxun, SIGNAL(clicked()),bianji, SLOT(huoquzhi()));
     


}


void shiyan::charuzhi(void)
{
QString zhi = bianji->text();
query.prepare("insert into biao values(?)");
query.addBindValue(zhi);
}
void shiyan::huoquzhi(void)
{
query.exec("SELECT a FROM biao");
while (query.next()) {
         QString name = query.value(0).toString();
         bianji->setText(name);
         
     }
}
int main(int argc, char *argv[])
{
     QApplication app(argc, argv);
     shiyan widget;

     widget.show();
     return app.exec();
}

输入信息后,一个槽将信息存在数据库里,另一个槽是在数据库里读取信息并显示。
发表于 2007-2-20 22:54:16 | 显示全部楼层
有什么出错提示信息?
回复

使用道具 举报

发表于 2007-2-21 00:50:48 | 显示全部楼层
[code:1]
class shiyan : public QWidget
{
    Q_OBJECT
QPushButton *charu;
QPushButton *chaxun;
....
[/code:1]
注意在需要在自己类里边定义槽的时候,类必须在最前面加 Q_OBJECT
不然槽不起作用,估计楼主没有仔细看文档,在文档里边有说明的
回复

使用道具 举报

 楼主| 发表于 2007-2-21 09:51:12 | 显示全部楼层
程序的错误提示是:没有找到SLOT(charuzhi())和SLOT(huoquzhi()),所以我觉得是信号和槽有错误。好像连接不上
回复

使用道具 举报

 楼主| 发表于 2007-2-25 14:27:59 | 显示全部楼层
已搞定。
回复

使用道具 举报

发表于 2007-3-14 23:17:38 | 显示全部楼层
一直没多长时间搞qt````之前只看了点```
现在看到朋友这代码```真像java```除开某些地方。。。。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

GMT+8, 2024-11-2 00:27 , Processed in 0.072423 second(s), 16 queries .

© 2021 Powered by Discuz! X3.5.

快速回复 返回顶部 返回列表