当前时区 GMT+8, 现在时间是 2008-9-7 11:46 游客: 注册 登录 仅登录论坛 | 搜索 帮助


标题: QT的槽搞不定了,帮忙啊
zzhcpp
新手上路
Rank: 1



UID 204077
精华 0
积分 87
帖子 37
阅读权限 10
注册 2005-10-30
状态 离线
发表于 2007-2-20 19:08  资料  短消息  加为好友 
QT的槽搞不定了,帮忙啊

#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();
}

输入信息后,一个槽将信息存在数据库里,另一个槽是在数据库里读取信息并显示。

顶部
chwoozy
高级会员
Rank: 4



UID 190420
精华 0
积分 1459
帖子 641
阅读权限 50
注册 2005-5-3
来自 重庆万盛
状态 离线
发表于 2007-2-20 22:54  资料  短消息  加为好友 
有什么出错提示信息?

顶部
SCerZZ
注册会员
Rank: 2



UID 188047
精华 0
积分 323
帖子 177
阅读权限 20
注册 2005-4-4
状态 离线
发表于 2007-2-21 00:50  资料  短消息  加为好友 
[code:1]
class shiyan : public QWidget
{
    Q_OBJECT
QPushButton *charu;
QPushButton *chaxun;
....
[/code:1]
注意在需要在自己类里边定义槽的时候,类必须在最前面加 Q_OBJECT
不然槽不起作用,估计楼主没有仔细看文档,在文档里边有说明的





努力C 为儿时的游戏梦~ 喜欢Linux里边人们无私奉献的那种精神~
顶部
zzhcpp
新手上路
Rank: 1



UID 204077
精华 0
积分 87
帖子 37
阅读权限 10
注册 2005-10-30
状态 离线
发表于 2007-2-21 09:51  资料  短消息  加为好友 
程序的错误提示是:没有找到SLOT(charuzhi())和SLOT(huoquzhi()),所以我觉得是信号和槽有错误。好像连接不上

顶部
zzhcpp
新手上路
Rank: 1



UID 204077
精华 0
积分 87
帖子 37
阅读权限 10
注册 2005-10-30
状态 离线
发表于 2007-2-25 14:27  资料  短消息  加为好友 
已搞定。

顶部
irons
新手上路
Rank: 1



UID 231127
精华 0
积分 50
帖子 20
阅读权限 10
注册 2006-11-21
状态 离线
发表于 2007-3-14 23:17  资料  短消息  加为好友 
一直没多长时间搞qt````之前只看了点```
现在看到朋友这代码```真像java```除开某些地方。。。。

顶部
 


Powered by Discuz! 5.5.0  © 2001-2007 Comsenz Inc.
清除 Cookies - 联系我们 - 中国Linux公社 - WAP