操作系統(tǒng):centos7.2
QT:5.8.0
postgre:10
1.首先安裝QT(親測可用)
https://www.cnblogs.com/zhuyc110/p/6731110.html
我的安裝路徑是在:/opt目錄下
在 /opt/Qt5.8.0/5.8/gcc_64/plugins/sqldrivers 目錄下我們可以看到分別是sqlite亥揖,mysql墓毒,psql(postgre)的動態(tài)庫心墅。
2.安裝postgre數(shù)據(jù)庫
https://blog.csdn.net/rudy5348/article/details/79299162
注意第六部的修改配置文件時vi /var/lib/pgsql/10/data/pg_hba.conf
METHOD一列要改成md5,否則密碼設(shè)置無效
3.代碼
mainwindow.cpp
#include "mainwindow.h"
#include "ui_mainwindow.h"
#include <QTextCodec>
#include <QMessageBox>
#include <QDebug>
#include <QSqlDatabase>
MainWindow::MainWindow(QWidget *parent) :
QMainWindow(parent),
ui(new Ui::MainWindow)
{
ui->setupUi(this);
qDebug() << QSqlDatabase::drivers();//打印qt支持的數(shù)據(jù)庫類型
setWindowTitle("SQL");//設(shè)置窗口的標(biāo)題
QTextCodec::setCodecForLocale(QTextCodec::codecForLocale());//設(shè)置顯示中文
QSqlDatabase db = QSqlDatabase::addDatabase("QPSQL");//postgre數(shù)據(jù)庫
db.setHostName("127.0.0.1");//ip地址
db.setDatabaseName("testdb");//數(shù)據(jù)庫名
db.setUserName("postgres");//用戶名剂桥,postgre自帶的用戶名postgres
db.setPassword("postgres");//密碼
db.setPort(5432);//postgre默認(rèn)端口
if(!db.open()) //如果數(shù)據(jù)庫打開失敗,會彈出一個警告窗口
{
QMessageBox::warning(this, "警告", "數(shù)據(jù)庫打開失敗");
}
else
{
qDebug() <<"數(shù)據(jù)庫打開成功";
}
}
MainWindow::~MainWindow()
{
delete ui;
}