• 5519阅读
  • 2回复

如何将qt 组合框的内容写回数据库 [复制链接]

上一主题 下一主题
离线云剑居士
 
只看楼主 倒序阅读 楼主  发表于: 2011-05-27
程序中的主要代码:(图方便,把ui改成public了)
        mapper_mod_1=new QDataWidgetMapper(this);
        mapper_mod_1->setSubmitPolicy(QDataWidgetMapper::ManualSubmit);
        mapper_mod_1->setModel(model);
        mapper_mod_1->addMapping(ui->comboBox_class,5);
        mapper_mod_1->addMapping(ui->comboBox_sex,2);
    
       在ui_xiugai.h中的关键代码
       comboBox_class->insertItems(0, QStringList()
         << QApplication::translate("xiugai", "1", 0, QApplication::UnicodeUTF8)
         << QApplication::translate("xiugai", "2", 0, QApplication::UnicodeUTF8)
         << QApplication::translate("xiugai", "3", 0, QApplication::UnicodeUTF8)
         << QApplication::translate("xiugai", "4", 0, QApplication::UnicodeUTF8)
         << QApplication::translate("xiugai", "5", 0, QApplication::UnicodeUTF8)
         << QApplication::translate("xiugai", "6", 0, QApplication::UnicodeUTF8)
        );

        comboBox_sex->insertItems(0, QStringList()
         << QApplication::translate("xiugai", "\347\224\267", 0, QApplication::UnicodeUTF8)
         << QApplication::translate("xiugai", "\345\245\263", 0, QApplication::UnicodeUTF8)
        );

       但是实际使用起来时并没能写回数据,不知为什么?
离线linch2008

只看该作者 1楼 发表于: 2011-05-31
应该是没用到AutoSubmit吧
mapper->setSubmitPolicy(QDataWidgetMapper::AutoSubmit);
我是菜鸟看《C++GUI QT4》的例子是这样写的,希望对你有帮助,同时坐等高手来回答
离线alexltr

只看该作者 2楼 发表于: 2011-05-31
既然是QDataWidgetMapper::ManualSubmit,那就要用submit() 。

enum QDataWidgetMapper::SubmitPolicy
This enum describes the possible submit policies a QDataWidgetMapper supports.
Constant    Value    Description
QDataWidgetMapper::AutoSubmit    0    Whenever a widget loses focus, the widget's current value is set to the item model.
QDataWidgetMapper::ManualSubmit    1    The model is not updated until submit() is called.
我不从事IT,只是喜欢Qt。
我不是程序员,只是与程序有缘。
我写程序,只是为了让工作变得简单有序!

                      ----  一个一直在入门的编程学习者
快速回复
限100 字节
 
上一个 下一个