artistcombobox.cpp

来自「这里包含了一些QT的小例子,很有价值的,希望对大家有帮助」· C++ 代码 · 共 49 行

CPP
49
字号
#include <qsqlcursor.h>#include <qsqldatabase.h>#include "artistcombobox.h"ArtistComboBox::ArtistComboBox(QSqlDatabase *database,                               QWidget *parent, const char *name)    : QComboBox(parent, name){    db = database;    populate();}void ArtistComboBox::refresh(){    int oldArtistId = artistId();    clear();    idFromIndex.clear();    indexFromId.clear();    populate();    setArtistId(oldArtistId);}void ArtistComboBox::populate(){    QSqlCursor cursor("artist", true, db);    cursor.select(cursor.index("name"));    int index = 0;    while (cursor.next()) {        int id = cursor.value("id").toInt();        insertItem(cursor.value("name").toString(), index);        idFromIndex[index] = id;        indexFromId[id] = index;        ++index;    }}int ArtistComboBox::artistId() const{    return idFromIndex[currentItem()];}void ArtistComboBox::setArtistId(int id){    if (indexFromId.contains(id))        setCurrentItem(indexFromId[id]);}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?