> Qt такая же тормозная фигня, как и Java/.net/Mono и нивелирует достоинства С++ по сравнению с С# и Java
> Можно ли использовать QtSql для, скажем, веб-сервера
> от которого хочется быстродействия, чтобы быстро работало
> если я буду делать текстовый процессор
> казуальную он-лайн-игру
> чат-клиент
> просмотрщик изображений,
> домашнее настольное ПО, от которого хочется быстродействия
> А приложений на смартфонах типа андроид
> симбиан
> iOS
> можно ли использовать QtSql для, скажем, веб-сервера?
> не будешь, они уже все сделаны.
> никакое домашнее по не будет требовать охуительных вычислительных ресурсов, так что снова похуй
> java
> В чём логика применения на самом слабом устройстве самой жрущей технологии?
> Метод children о возвращает константный указатель на список объектов-
> const QObjectList & QObject::children () const
> Jazelle DBX (Direct Bytecode eXecution) allows some ARM processors...
> Supported platforms: ARM, MIPS, x86, I.MX
> const QObjectList
> () const
> Лол, он русский.
> Qt 5.0.2 for Windows 32-bit (VS 2010, 485 MB)
> Qt 5.0.2 for Windows 32-bit (MinGW 4.7, 650 MB)
> С/С++ > /
> Можно ли знать С++, не зная Си?
> я в свое время очень долго ебался
> а все эти ваши IDE использую только в качестве продвинутых текстовых редакторов
> А что на счет отлаживания С/С++ там?
> Слышал, что выбивает с ошибками часто.
> серьёзной промышленной направленности
> А надо было изучать.
> Сириусли, плохо представляю себе продуктивную разработку без адекватного интеллисенса, тайп-чекера
> Но все остальное в них - уровня лабораторок и даже ниже.
> контроль версий
> катящийся билд, автоматическое тестирование
> заливаешь код
> Сколько кликов стоит коммит?
> На удалённой машине?
> По FTP?
> в мелкомягком облаке
> У меня два
> SVN
#include <QObject> #include <QtSQL/qsql.h> #include <qstring.h> #include "mainwindow.h" class sservice : public QObject { Q_OBJECT public: explicit sservice(QObject *parent = 0); signals: void Error(QString text); // Сообщение об ошибке public slots: void SamSetSrv(QString NewSrv); private: QString CurrSRV; // Текущий сервер int CurrPort; // Текущий порт QString CurrDB; // Текущая БД QString CurrUSR; // Текущий юзор QString CurrPWD; // Текущий пароль int m_value; }; #endif // SSERVICE_H
#include "sservice.h" sservice::sservice(QObject *parent) : QObject(parent) { } void sservice::SamSetSrv(QString NewSrv) { CurrSRV=NewSrv; emit Error(CurrSRV); }
QObject::connect(ui->lineEdit, SIGNAL(textChanged(QString)), &sserv, SLOT(SamSetSrv(QString))); QObject::connect(&sserv, SIGNAL(Error(QString)), ui->lineEdit_2, SLOT(hide()));
> Возможно, дело в том, что у сигнала есть параметр, а у слота нет.
QObject::connect(ui->lineEdit, SIGNAL(textChanged(QString)), &sserv, SLOT(SamSetSrv(QString))); QObject::connect(&sserv, SIGNAL(Error(QString)), ui->statusBar, SLOT(showMessage(QString)));
public
public signals:
expected ':' got 'signals'
unable to connect signal to slot
connect
> Сообщения сборки или вывод программы какие-нибудь предупреждения выдают?
> Может остальной код выложишь? Хотя бы полностью тот метод, где connect вызываешь.
#include "mainwindow.h" #include "ui_mainwindow.h" #include "sservice.h" #include <QDialog> MainWindow::MainWindow(QWidget *parent) : QMainWindow(parent), ui(new Ui::MainWindow) { sservice sserv; ui->setupUi(this); QObject::connect(ui->lineEdit, SIGNAL(textChanged(QString)), &sserv, SLOT(SamSetSrv(QString))); QObject::connect(&sserv, SIGNAL(Success(QString)), ui->statusBar, SLOT(showMessage(QString))); } MainWindow::~MainWindow() { delete ui; }
> и что такое переменная sserv?
> sservice sserv;
class MainWindow : public QMainWindow { Q_OBJECT public: explicit MainWindow(QWidget *parent = 0); ~MainWindow(); private slots: private: Ui::MainWindow *ui; sservice sserv; };
class sservice : public QObject { Q_OBJECT public: explicit sservice(int engine = EN_MYSQL, uchar mask = 0x00); //=======разные другие объявления=========== int CurrEngine; // Текущий движок БД uchar Mask; // Если всё верно, то маска будет 00011111 = 0x1F }
sservice::sservice(int engine, uchar mask) { sservice::CurrEngine=engine; sservice::Mask=mask; }
MainWindow::MainWindow(QWidget *parent) : QMainWindow(parent), ui(new Ui::MainWindow) { ui->setupUi(this); sservice *samServ = new sservice(EN_MYSQL); QObject::connect(ui->samSrv, SIGNAL(textChanged(QString)), samServ, SLOT(setSrv(QString))); }
> как можно передать другие начальные значения?
> При написании скобочек и передаче параметров как в функцию компилятор ругается.
MainWindow::MainWindow(QWidget *parent) : ...
> делать ещё один метод вроде setDbEngine(int engine)
samServ
private: sservice *samServ;
samServ = new sservice(EN_MYSQL);
> private:> sservice *samServ;> samServ = new sservice(EN_MYSQL);
> в стандартную поставку QtSDK под винду не поставляются плагины к mysql
> Странно, не могу проверить, так как не на винде.
> Ты пользуешься QtAssistant или онлайн документацией?
void MainWindow::on_clrDublAttach_clicked() { QSqlQuery result; result = samServ->query("SELECT * FROM Client WHERE Client.`id`=4104"); if (result.lastError().number()==-1) { qDebug() << result.value(0).toString(); } }
sservice *samServ = new sservice(EN_MYSQL);
QSqlQuery sservice::query(QString Query){ QSqlQuery res(db); if (db.isOpen()) { if (!Query.isEmpty()) { res.exec(Query); if (res.lastError().number()==-1) { res.next(); } else { emit error(res.lastError().text()); } } else { emit error("Empty query!"); } } else { emit error("DB is not opened!"); emit connected(false); } return res; }
class sservice : public QObject { Q_OBJECT public: explicit sservice(int engine = EN_MYSQL, uchar mask = 0x00); //QObject *parent = 0, ~sservice(); QSqlQuery query(QString Query); блаблабла }
> samServ объявлен в конструкторе класса MainWindow: [1]> sservice *samServ = new sservice(EN_MYSQL); [2]> Я подозреваю что дело в видимости переменной samServ
samServ = new sservice(EN_MYSSQL);
> глобальные переменные> private у класса
> Переопределяю keyPressEvent
QWidget::keyPressEvent
> If you reimplement this handler, it is very important that you call the base class implementation if you do not act upon the key.
QDialog::keyPressEvent()
#define LIBC_MINGW
> Создай файлик StdAfx.h в нем запиши дефайн и в pro добавь PRECOMPILED_HEADER = StdAfx.h.
> А вообще расскажи что ты хочешь сделать и зачем это тебе нужно?
-lboost_thread-mgw44-mt-d-1_55 \ -lsetupapi \
> стековерфловил
> Если и тогда не заработает, то пиши багрепорт.
> а что на счет SetParent?
> просто winapi значительно сложнее
> Ты же не хочешь парентом десктоп сделать, правда?
> тебе лень гуглить api
> > что в этом плохого?
> в гораздо меньшей степени переведён на русский язык
> На SO не советуют.
> многабукав
- hanabira 0.6.1320- + wakaba + futallaby + futaba -