2

これは私の初めてのQtプログラミングです。個人や企業に関連する電話やイベントを追跡するために、リレーショナルデータベースに名簿を作成します。シンプルな自家製の販売ツール。私はそれを大いに必要としています。

Qt Designerを使用して、メインウィンドウを作成し、QTableViewウィジェットを配置しました。SQLiteをインストールし、データベースを作成しました。今、私はそれをに接続する必要がありQTableViewます。私は数時間を過ごしましたが、それでもできませんでした。

誰か助けてもらえますか?

ありがとう!

いくつかのコード:

untitled9.pro

#-------------------------------------------------
#
# Project created by QtCreator 2012-10-26T14:35:12
#
#-------------------------------------------------

QT       += core gui
QT       += sql

TARGET = untitled9
TEMPLATE = app


SOURCES += main.cpp\
        mainwindow.cpp

HEADERS  += mainwindow.h

FORMS    += mainwindow.ui

mainwindow.h

#ifndef MAINWINDOW_H
#define MAINWINDOW_H

#include <QMainWindow>

namespace Ui {
class MainWindow;
}

class MainWindow : public QMainWindow
{
    Q_OBJECT

public:
    explicit MainWindow(QWidget *parent = 0);
    ~MainWindow();

private slots:
    void on_menu_exit_triggered();

private:
    Ui::MainWindow *ui;
};

#endif // MAINWINDOW_H

main.cpp

#include <QtGui/QApplication>
#include "mainwindow.h"
#include <QTableView>

int main(int argc, char *argv[])
{
    QApplication a(argc, argv);
    MainWindow w;

    w.show();

    QTableView *tableView;

    return a.exec();
}

mainwindow.cpp

#include "mainwindow.h"
#include "ui_mainwindow.h"

MainWindow::MainWindow(QWidget *parent) :
    QMainWindow(parent),
    ui(new Ui::MainWindow)
{
    ui->setupUi(this);
}

MainWindow::~MainWindow()
{
    delete ui;
}

void MainWindow::on_menu_exit_triggered()
{
  QCoreApplication::quit ();
}

また、mainwindow.uiには長いxmlもあります。必要に応じてここに投稿します。

ありがとう!

4

1 に答える 1

2

モデルビューに関連するQtドキュメントを確認する必要があります。

QSqlTableModel一般に、データベーステーブルに対応する[][2]が必要になります。次に、それをテーブルビューにアタッチする必要があります。

// Let a table A, with the following columns : id, column1, column2
QSqlTableModel *model = new QSqlTableModel(parentObject, database);
model->setTable("A");
model->setEditStrategy(QSqlTableModel::OnManualSubmit);
model->select();
model->removeColumn(0); // don't show the ID
model->setHeaderData(0, Qt::Horizontal, tr("Column 1"));
model->setHeaderData(1, Qt::Horizontal, tr("Column 2"));

// Attach it to the view
ui->view->setModel(model);
于 2012-10-27T12:20:45.580 に答える