qt 在GUI界面中实现创建数据库

Qt 怎么在GUI界面中实现打开不同的数据库,并创建不同的数据库?

  • 这个问题的回答你可以参考下: https://ask.csdn.net/questions/230927
  • 我还给你找了一篇非常好的博客,你可以看看是否有帮助,链接:入门学Qt_软件Demo界面GUI设计流程综述
  • 除此之外, 这篇博客: QT界面GUI设计之选择文件并显示中的 QT界面GUI设计之打开图片并显示 部分也许能够解决你的问题, 你可以仔细阅读以下内容或跳转源博客中阅读:
  • 准备做一个Qt的界面,只是实现了基本功能,但是各种相关细节还没有做到位,今天凑了半天论文,毫无进展,下午把QT界面又拿出来研究了一下,主要是打开文件选择图片后显示。
    在这里插入图片描述
    主要步骤呢,其实很简单,Qt内置一个打开文件的函数

    static QString getOpenFileName(QWidget *parent = nullptr,
                                       const QString &caption = QString(),
                                       const QString &dir = QString(),
                                       const QString &filter = QString(),
                                       QString *selectedFilter = nullptr,
                                       Options options = Options());
    

    可以通过这个函数,直接调用,通过load,把file加载进来,即可完成。
    首先QT designer中拉一个button进去,点击编辑信号槽,添加一个信号函数。
    在这里插入图片描述
    添加完成后,通过.h中添加函数名,在main中添加相关函数。
    加载文件

    	QString OpenFile, OpenFilePath;
    	OpenFile = QFileDialog::getOpenFileName(
    		this,
    		"Choose image",
    		"",
    		"Image Files(*.jpg *.png *.bmp *.pgm *.pbm);;All(*.*)");
    	QImage img_1;
    	img_1.load(OpenFile);
    

    显示图像

    	QLabel *label_1 = new QLabel(this);
    	label_1->setPixmap(QPixmap::fromImage(img_1));
    	label_1->resize(QSize(img_1.width(), img_1.height()));
    	label_1->setGeometry(80, 80, 640, 480);
    	label_1->show();
    

    在这里插入图片描述

  • 您还可以看一下 张平老师的Qt界面程序开发实战课程中的 从0开始一个qt界面程序小节, 巩固相关知识点

#include <QSqlDatabase>
#include <QSqlQuery>
#include <QDebug>

QSqlDatabase db1 = QSqlDatabase::addDatabase("QMYSQL", "connection1"); //添加一个名为connection1的MySQL数据库驱动
db1.setHostName("localhost");
db1.setDatabaseName("db1"); //指定数据库名为db1
db1.setUserName("user");
db1.setPassword("password");

if(!db1.open()) { //打开数据库
    qDebug() << "Failed to connect to database";
    return;
}

QSqlQuery query("", db1);

query.exec("CREATE TABLE table1 (id INT PRIMARY KEY, name VARCHAR(30))"); //创建名为table1的表格
query.exec("INSERT INTO table1 (id, name) VALUES (1, 'Tom')"); //向table1表格中插入数据
db1.close(); //关闭数据库连接

QSqlDatabase db2 = QSqlDatabase::addDatabase("QMYSQL", "connection2"); //添加一个名为connection2的MySQL数据库驱动
db2.setHostName("localhost");
db2.setDatabaseName("db2"); //指定数据库名为db2
db2.setUserName("user");
db2.setPassword("password");

if(!db2.open()) { //打开数据库
   qDebug() << "Failed to connect to database";
   return;
}

QSqlQuery query2("", db2);

query2.exec("CREATE TABLE table2 (id INT PRIMARY KEY, age INT, gender VARCHAR(10))"); //创建名为table2的表格
query2.exec("INSERT INTO table2 (id, age, gender) VALUES (1, 22, 'Male')"); //向table2表格中插入数据
db2.close(); //关闭数据库连接