With just the code i post here: http://www.qtcentre.org/threads/3533...-work-properly i can use the debug but now i add some functions to connect to a DB and insert data on it. Now i can's use the debug, i set breakpoins but the debugger never stop on it.
#ifndef MAINWINDOW_H
#define MAINWINDOW_H
#include <QtGui/QMainWindow>
#include <QProgressBar>
#include <QSqlDatabase>
{
Q_OBJECT
public:
~MainWindow();
public slots:
void test();
void abortButtonClicked();
private:
bool abortButtonFlag;
};
#endif // MAINWINDOW_H
#ifndef MAINWINDOW_H
#define MAINWINDOW_H
#include <QtGui/QMainWindow>
#include <QProgressBar>
#include <QSqlDatabase>
class MainWindow : public QMainWindow
{
Q_OBJECT
public:
MainWindow(QWidget *parent = 0);
~MainWindow();
public slots:
void test();
void abortButtonClicked();
private:
QProgressBar *progress;
bool abortButtonFlag;
};
#endif // MAINWINDOW_H
To copy to clipboard, switch view to plain text mode
#include "mainwindow.h"
#include <QDebug>
#include <QString>
#include <QDir>
#include <QFileDialog>
#include <QMessageBox>
#include <QLabel>
#include <QProgressBar>
#include <QLayout>
#include <QVBoxLayout>
#include <QTimer>
#include <QCoreApplication>
#include <QPushButton>
#include <QSqlDatabase>
#include <QSqlQuery>
#include <QSqlError>
MainWindow
::MainWindow(QWidget *parent
){
layout->addWidget(progress);
connect(abortButton, SIGNAL(clicked()), this, SLOT(abortButtonClicked()));
layout->addWidget(abortButton);
w->setLayout(layout);
this->setCentralWidget(w);
abortButtonFlag = new bool;
abortButtonFlag = false;
QTimer::singleShot(100,
this,
SLOT(test
()));
}
MainWindow::~MainWindow()
{
}
void MainWindow::test(){
db.setDatabaseName("thomsonkeysDB");
if (db.open()) {
if (db.tables().indexOf("thomsonkeys") == -1) {
query.prepare("CREATE TABLE thomsonkeys (ssid VARCHAR(6), pass VARCHAR(10))");
if (!query.exec())
qCritical() << query.lastError();
}
} else {
qCritical() << db.lastError();
}
QString dir
= QFileDialog::getOpenFileName(this, tr
("Select Text File"),
"",tr
("Text (*.txt)"));
if(f.isOpen())
{
int fileSize=f.size();
int step=fileSize/100;
int bytesProcessed=0;
progress->setMaximum(fileSize);
progress->setValue(bytesProcessed);
while ((not f.atEnd()) & (not abortButtonFlag)){
line = f.readLine().data();
bytesProcessed+= line.size();
list = line.split(":");
query.exec("insert into thomsonkeys values('"+list.at(0)+"', '"+list.at(1)+"')");
if (bytesProcessed%step<=20){
progress->setValue(bytesProcessed);
}
}
f.close();
db.close();
progress->setValue(bytesProcessed);
progress->setEnabled(false);
}
else
{
QMessageBox::warning(this,
"Error",
"No file selected!");
}
}
void MainWindow::abortButtonClicked(){
abortButtonFlag=true;
}
#include "mainwindow.h"
#include <QDebug>
#include <QString>
#include <QDir>
#include <QFileDialog>
#include <QMessageBox>
#include <QLabel>
#include <QProgressBar>
#include <QLayout>
#include <QVBoxLayout>
#include <QTimer>
#include <QCoreApplication>
#include <QPushButton>
#include <QSqlDatabase>
#include <QSqlQuery>
#include <QSqlError>
MainWindow::MainWindow(QWidget *parent)
: QMainWindow(parent)
{
QVBoxLayout *layout = new QVBoxLayout;
progress = new QProgressBar;
layout->addWidget(progress);
QPushButton *abortButton = new QPushButton("Abort");
connect(abortButton, SIGNAL(clicked()), this, SLOT(abortButtonClicked()));
layout->addWidget(abortButton);
QWidget *w=new QWidget();
w->setLayout(layout);
this->setCentralWidget(w);
abortButtonFlag = new bool;
abortButtonFlag = false;
QTimer::singleShot(100, this, SLOT(test()));
}
MainWindow::~MainWindow()
{
}
void MainWindow::test(){
QSqlDatabase db = QSqlDatabase::addDatabase("QSQLITE");
db.setDatabaseName("thomsonkeysDB");
if (db.open()) {
if (db.tables().indexOf("thomsonkeys") == -1) {
QSqlQuery query(db);
query.prepare("CREATE TABLE thomsonkeys (ssid VARCHAR(6), pass VARCHAR(10))");
if (!query.exec())
qCritical() << query.lastError();
}
} else {
qCritical() << db.lastError();
}
QString dir = QFileDialog::getOpenFileName(this, tr("Select Text File"),"",tr("Text (*.txt)"));
QFile f(dir);
f.open(QIODevice::ReadOnly);
if(f.isOpen())
{
int fileSize=f.size();
int step=fileSize/100;
int bytesProcessed=0;
QString line;
QStringList list;
QSqlQuery query(db);
progress->setMaximum(fileSize);
progress->setValue(bytesProcessed);
while ((not f.atEnd()) & (not abortButtonFlag)){
line = f.readLine().data();
bytesProcessed+= line.size();
list = line.split(":");
query.exec("insert into thomsonkeys values('"+list.at(0)+"', '"+list.at(1)+"')");
if (bytesProcessed%step<=20){
progress->setValue(bytesProcessed);
QCoreApplication::processEvents();
}
}
f.close();
db.close();
progress->setValue(bytesProcessed);
progress->setEnabled(false);
}
else
{
QMessageBox::warning(this,"Error","No file selected!");
}
}
void MainWindow::abortButtonClicked(){
abortButtonFlag=true;
}
To copy to clipboard, switch view to plain text mode
Bookmarks