#include <QtSql/qsqldatabase.h>
#include <QtSql/qsqlerror.h>
#include <QtSql/qsqlquery.h>
#include <iostream>
#pragma comment(lib,"Qt6Sqld.lib")
...
QSqlDatabase dbase = QSqlDatabase::addDatabase("QODBC");
dbase.setDatabaseName("Driver={Microsoft dBase Driver (*.dbf)};SourceType=DBF;");
if (!dbase.open()) {
setlocale(LC_ALL, "ru_RU.UTF-8");
std::cout<< "Ошибка SQL>" << dbase.lastError().text().toStdString();
return;
}
QSqlQuery query(dbase);
query.exec("CREATE TABLE D:\\TABLE(field integer, field2 integer)");
...
QOpenGLTexture* texture;
QImage image1;
void MyWidget::initializeGL()
{
//QOpenGLContext* ctx = new QOpenGLContext();
QOpenGLFunctions* f = QOpenGLContext::currentContext()->functions();
f->glClearColor(0,0,0,0); // заполняем экран белым цветом
glEnable(GL_DEPTH_TEST); // задаем глубину проверки пикселей
glShadeModel(GL_FLAT); // убираем режим сглаживания цветов
glEnable(GL_CULL_FACE); // говорим, что будем строить только внешние поверхности
glPolygonMode(GL_FRONT_AND_BACK, GL_FILL); // фигуры будут закрашены с обеих сторон
gluLookAt(0.0f, 0.0f, 1.0f, 0.0f, 0.0f, 0.0f, 0.0f, 1.0f, 0.0f);
image1.load("welcome.png"); // загружаем изображение в переменную image1
// конвертируем изображение в формат для работы с OpenGL:
texture = new QOpenGLTexture(image1.mirrored());
texture->setMinificationFilter(QOpenGLTexture::LinearMipMapLinear);
texture->setMagnificationFilter(QOpenGLTexture::Linear);
}
void MyWidget::Show()
{
texture->bind();
//glColor4f(1,0,0,0); // задаем цвет
glBegin(GL_QUADS); // говорим, что рисовать будем прямоугольник
// задаем вершины многоугольника
glTexCoord2f(1, 1);
glVertex2f(0.5, 0.5);
glTexCoord2f(0, 1);
glVertex2f(-0.5, 0.5);
glTexCoord2f(0, 0);
glVertex2f(-0.5, -0.5);
glTexCoord2f(1, 0);
glVertex2f(0.5, -0.5);
glEnd();
}
MainWindow::MainWindow(QWidget* parent)
: QMainWindow(parent)
{
setWindowTitle(tr("Window"));
setGeometry(0, 0, 1000, 700);
}
#include <iostream>
#include <QtWidgets/QApplication>
#include "MainWindow.h"
#pragma comment(lib,"Qt5Widgets.lib")
int main(int argc,char*argv[])
{
QApplication a(argc, argv);
QWidget qw;
//qw.show();
MainWindow mw(&qw);
mw.show();
return a.exec();
}
Task* task_ = new Task();
for (int i = 0; i < nrows; i++)
{
task_->id = atoi(PQgetvalue(res, i, 0));
strcpy(task_->task , PQgetvalue(res, i, 1));
task_->parentTask = atoi(PQgetvalue(res, i, 2));
strcpy(task_->executor , PQgetvalue(res, i, 3));
char* ddl = PQgetvalue(res, i, 4);
ddl[4] = ddl[7] = '\0';
task_->dateDeathLine->tm_year = atoi(&ddl[0]) - 1900;
task_->dateDeathLine->tm_mon = atoi(&ddl[5]) - 1;
task_->dateDeathLine->tm_mday = atoi(&ddl[8]);
ddl = PQgetvalue(res, i, 5);
ddl[4] = ddl[7] = '\0';
task_->dateStart->tm_year = atoi(&ddl[0]) - 1900;
task_->dateStart->tm_mon = atoi(&ddl[5]) - 1;
task_->dateStart->tm_mday = atoi(&ddl[8]);
strcpy(task_->status , PQgetvalue(res, i, 6));
strcpy(task_->oldtask , PQgetvalue(res, i, 7));
cout << " Id: " << task_->id;
cout << " Task: " << task_->task;
cout << " Parent: " << task_->parentTask;
cout << " Executor: " << task_->executor;
char* date_string = new char[50];
strftime(date_string, 50, " %Y-%m-%d", task_->dateDeathLine);
cout << " DeathLine: " << date_string;
strftime(date_string, 50, "%Y-%m-%d", task_->dateStart);
cout << " Start: " << date_string;
cout << " Status: " << task_->status;
cout << " Oldtask: " << task_->oldtask << endl;
vTask.push_back(task_);
}