crossplatform.ru

Здравствуйте, гость ( Вход | Регистрация )

История благодарностей участнику arial ::: Спасибо сказали: 9 раз(а)
Дата поста: В теме: За сообщение: Спасибо сказали:
20.12.2010, 13:41 модель и qcombobox abc,
20.12.2010, 9:45 модель и qcombobox
В приложении рабочий пример. Выкладываю, как и обещал.
abc,
19.12.2010, 18:04 модель и qcombobox
Цитата(abc @ 19.12.2010, 17:27) *
но если я наследуюсь от qsqlquerymodel смысл же остаётся тот же?

Нет ни одной объективной причины наследоваться от QSqlQueryModel. Ты наследуешься от QSqlQueryModel потому что после этого исчезают ошибки при компиляции. Мне это напоминает старый анекдот:
Цитата
- Ты что ищешь?
- Ключи потерял
- А где потерял?
- Вон там
- А почему ищешь здесь?
- Здесь светлее!

Почитай про QAbstractItemModel там написано про наследование. Если до завтра сам не разберёшься, выложу работающий пример.
abc,
5.7.2010, 13:39 Отображение русских букв в QTableView
QTextCodec::setCodecForLocale(QTextCodec::codecForName("UTF-8"));
QTextCodec::setCodecForCStrings(QTextCodec::codecForLocale());
QTextCodec::setCodecForTr(QTextCodec::codecForLocale());

Где UTF-8 - кодировка исходников.
bynet,
6.5.2010, 7:04 Как сделать переход между полями ввода на форме нажимая Enter
Цитата(alcionov @ 5.5.2010, 15:43) *
Именно это я сейчас и пробую делать без такого же успеха:

1. Создаю окно вручную от QWidget
2. Создаю несколько QLineEdit, передавая им это окно как парент
3. Всё это нормально показываю на экране, где первый из едитов имеет фокус ввода
4. По наступлении события выполняю focusNextChild()
5. Ничего не происходит
После пункта 1 реализуй для окна eventFilter:
bool MyWindow::eventFilter(QObject *obj, QEvent *event)
{
    if (event->type() != QEvent::KeyPress) {
        return QObject::eventFilter(obj, event);
    }

    QKeyEvent *keyEvent = static_cast<QKeyEvent *>(event);

    switch (keyEvent->key()) {
    case Qt::Key_Return:
    case Qt::Key_Enter:
        if (focusNextChild()) {
            return true;
        }
        return false;
    default:
        return QObject::eventFilter(obj, event);
    }
}
После пункта 2 для каждого из потомков инсталлируй eventFilter окна-родителя. Всё будет работать.
alcionov,
5.5.2010, 7:06 Можно ли задать ширину колонок таблицы в процентном соотношении
QxtHeaderView, как я понял, это позволяет.
sindbad07,
27.4.2010, 11:04 QDoubleSpinBox
Так подойдёт:
class DoubleSpinBox : public QDoubleSpinBox
{
Q_OBJECT
public:
    explicit DoubleSpinBox(QWidget *parent = 0);
    virtual QString textFromValue(double value) const;
    virtual double valueFromText(const QString &text) const;

protected:
    void keyPressEvent(QKeyEvent *e);
};

DoubleSpinBox::DoubleSpinBox(QWidget *parent) :
    QDoubleSpinBox(parent)
{
}

QString DoubleSpinBox::textFromValue(double value) const
{
    QString text = QString("%L1").arg(value, 0, 'f', decimals());
    return text.replace(QLatin1Char('.'), QLocale().decimalPoint());
}

double DoubleSpinBox::valueFromText(const QString &text) const
{
    return QString(text).replace(QLocale().decimalPoint(), QLatin1Char('.')).toDouble();
}

void DoubleSpinBox::keyPressEvent(QKeyEvent *e)
{
    switch (e->key()) {
    case Qt::Key_Comma:
    case Qt::Key_Period: {
        QKeyEvent *myKeyEvent = new QKeyEvent(QEvent::KeyPress, Qt::Key_Comma,
                                              e->modifiers(), QLocale().decimalPoint());
        QDoubleSpinBox::keyPressEvent(myKeyEvent);
        break;
    }
    default:
        QDoubleSpinBox::keyPressEvent(e);
    }
}

grio,
8.3.2010, 12:03 Qt + Microsoft SQL Server 2005
const QString driverName = QString("QODBC");
const QString server = QString("127.0.0.1");
const QString database = QString("Database");
const QString user = QString("User");
const QString pass = QString("Password");
const QString trustedConnection = user.isEmpty() ? QString("yes") : QString("no");

if (!QSqlDatabase::isDriverAvailable(driverName) {
    qDebug() << QString("%1 database driver not found").arg(driverName);
    return;
}

db = QSqlDatabase::addDatabase(driverName);

const QString connectionString = QString("Driver={SQL Native Client};"Server=%1;Database=%2;"
                                         "Uid=%3;Pwd=%4;Trusted_Connection=%5;")
                                 .arg(server, database, user, pass, trustedConnection);

db.setDatabaseName(connectionString);

if (!db.open()) {
    qDebug() << db.lastError().text();
    return;
}

dreamcode,
22.2.2010, 13:24 QT 4.6.0+ QT Creator +QIBASE
Цитата(alex_sumenkov @ 19.2.2010, 14:56) *
Подключил плагин QIBASE в соответствии с различного рода хелапами.
QIBASE теперь входит в список драйверов.
При запуске приложения в среде QT Creator работает.
При "самостотятельном" запуске - выдает ошибку поиска драйвера QIBASE.
Плугины лежат и в папке \путь к файлу\plugins\sqldrivers\ и в \путь к файлу\ (в общем в разных вариациях)
Как решить такую проблему?
Если вопрос ещё актуален, то плагин должен лежать в /путь к файлу/sqldrivers
alex_sumenkov,

RSS Текстовая версия Сейчас: 19.4.2024, 15:33