crossplatform.ru

Здравствуйте, гость ( Вход | Регистрация )


Сейчас на сайте человек: 240
(пользователей: 0, гостей: 240)
Crawler.de, Yandex.com, Google.com, MSN.com, Yahoo.com, Archive.org

Перейти к месяцу

Март 2017

  ПВСЧПСВ
»
1
2
3
5
»
7
8
11
12
»
13
14
16
17
19
»
20
22
23
25
»
27
28
30
31

> Последние обсуждения
Iron Bug @ 27.3.2017, 0:30
Просмотров: 11   Комментариев: 0
 
> Готов стандарт С++17
Автор Iron Bug — 27.3.2017, 0:30 — 0 комментариев
Стандарт С++17, по мнению его разработчиков, готов и отдан на утверждение в ISO:
https://herbsutter.com/2017/03/24/trip-repo...campaign=buffer

Так что качайте себе последний драфт, пока он не стал стандартом и не превратился в платный документ за большие деньги :)
.
Просмотров: 11, оставить комментарий   

> Двигать точку слайдером qt 4.8 C++
Автор Excalibur921 — 25.3.2017, 12:43 — 2 комментариев
Кто может сделать мелкий проект со всеми фаилами .h .pro .cpp?
Двумя слайдерами двигать точку на экране по X,Y.

В примере “examples\widgets\sliders” просто хардкор…
Qt 4.8
Просмотров: 67, последний комментарий от Excalibur921   

> Подключение занято до получения результатов для другого
Автор ht1515 — 24.3.2017, 20:36 — 6 комментариев
Цитата
QODBCResult::exec: Unable to execute statement: "[Microsoft][ODBC SQL Server Driver]Подключение занято до получения результатов для другого hstmt"


как с этим бороться?
О чем оно говорит?
Просмотров: 95, последний комментарий от ht1515   

> Перехватить событие от колеса
Автор Анна — 17.3.2017, 13:52 — 3 комментариев
Задача такая:
Есть: внутри QScrollArea длинный виджет с кучей дочерних виджетов, у которых в свою очередь есть дочерние QSpinBox (вложенность виджетов в общем случае большая).
Нужно: чтобы при вращении колеса осуществлялась только прокрутка длинного виджета в QScrollArea.
Проблема: при прокрутке длинного виджета, если курсор мыши попадает в QSpinBox, прокрутка прекращается и начитает меняться значение QSpinBox.

Перехват в eventFilter() события колеса только для длинного виджета не помогает.
Просмотров: 217, последний комментарий от Алексей1153   

> QSqlQueryModel
Автор JohnZ — 15.3.2017, 20:18 — 6 комментариев
Всем Здравия !

Пытаюсь реализовать динамическую QSqlQueryModel-Ьку :-)
Ес-сно нужны 3 доп. ф-ции
    bool insertRecord (QSqlRecord & Record);
    bool removeRecord (QSqlRecord & Record);
    bool updateRecord (QSqlRecord & RecOld, QSqlRecord & RecNew);


Первые 2 заработали, а вот с updateRecord траблема Вот их реализации ...
Раскрывающийся текст

bool fpQueryModel::insertRecord (QSqlRecord & Record)
{
QString s = QString("insert into %0 values( ").arg(tableName);
s += drv->formatValue(Record.field(0));
int fCnt = Record.count();
for (int i = 1;i < fCnt;i++)
{
s += ",";
s += drv->formatValue(Record.field(i));
}
s += " );";
QSqlQuery q;
return q.exec(s);
}

bool fpQueryModel::updateRecord(QSqlRecord & RecOld, QSqlRecord & RecNew)
{
QSqlIndex pidx = fpDb->db.primaryIndex(tableName);
QString s = QString("update %0 set ").arg(tableName);

int fCnt = RecNew.count();
for (int i = 0;i < fCnt;i++)
{
if (!pidx.contains(RecNew.fieldName(i)))
{
s += QString("%0 = %1").arg(RecNew.field(i).name())
.arg(drv->formatValue(RecNew.field(i)));
if ((i+1) < fCnt)
s += ", ";
}
}

fCnt = pidx.count();
if (!fCnt)
return false;

s += QString(" where %0 = %1").arg(pidx.fieldName(0))
.arg(drv->formatValue(RecOld.field(pidx.fieldName(0))));

for (int i = 1;i < fCnt;i++)
{
s += QString(" and %0 = %1").arg(pidx.fieldName(i))
.arg(drv->formatValue(RecOld.field(pidx.fieldName(i))));
}
s += " ;";

// QSqlQuery q;
// return q.exec(s);

return true;
}

bool fpQueryModel::removeRecord (QSqlRecord & Record)
{
QSqlIndex pidx = fpDb->db.primaryIndex(tableName);
QString s = QString("delete from %0 where ").arg(tableName);

int fCnt = pidx.count();
if (!fCnt)
return false;

s += QString(" %0 = %1").arg(pidx.fieldName(0))
.arg(drv->formatValue(Record.field(pidx.fieldName(0))));

for (int i = 1;i < fCnt;i++)
{
s += QString(" and %0 = %1").arg(pidx.fieldName(i))
.arg(drv->formatValue(Record.field(pidx.fieldName(i))));
}
s += " ;";

QSqlQuery q;
return q.exec(s);
}

В ф-цию bool fpQueryModel::updateRecord(QSqlRecord & RecOld, QSqlRecord & RecNew)
передаю старую и новую запись, иначе пока никак.
... и со-старта наступил на грабли, - при таблице из 3-х полей, все поля ключевые, секция
    for (int i = 0;i < fCnt;i++)
    {
        if (!pidx.contains(RecNew.fieldName(i)))
        {
            s += QString("%0 = %1").arg(RecNew.field(i).name())
                                   .arg(drv->formatValue(RecNew.field(i)));
            if ((i+1) < fCnt)
                s += ", ";
        }
    }

ес-сно генерит пустышку.
На прилагаемом снимке видны структуры таблиц, дабы долго не описывать задачу.
Проблема в обновлении полей таблицы "Шапка Журнала Расчёта ЗП", в которой ВСЕ поля
ключевые, вернее принадлежат составному ключу.
Я понимаю что в реальной задаче это низ-зя делать, но ... мне надо реализовать такое изменение.

Может возможна реализация UPDATE в ключе MVC ? Буду благодарен за помощь !
.
Эскизы прикрепленных изображений
Прикрепленное изображение
 
Просмотров: 244, последний комментарий от JohnZ   

> поиск внутри html-страницы
Автор call_me_Frank — 14.3.2017, 16:20 — 0 комментариев
Привет!

Пытаюсь организовать поиск и выделение на html-странице. Дело в том, что тестовая страница в браузере работает, а в QWebView - работает с косяками.

вот функция поиска
  function search( text ) {
    //

    if ( window.find ) {
      //

      var ranges = []
      while ( window.find( text , false , false ) ) {
        //

        var sel = window.getSelection();
        alert( sel );
        var rng = sel.getRangeAt( 0 );

        var element = document.body.childNodes[ rng.startOffset ];
        if ( ! element || element.id != 'search-box' ) {
          //

          if ( rng.toString() ) ranges.push( rng );
        }
      }
    }

    // mark elements found
    for ( var i in ranges ) {
      //

      var range = ranges[ i ];
      var wrapper = document.createElement( 'mark' );
      wrapper.className = 'marked-search';
      range.surroundContents( wrapper );
    }

    if ( window.getSelection ) window.getSelection().removeAllRanges();
  }


проблема в том, что поиск проходит нормально один раз, но при повторном поиске - никаких результатов. я в заблуждении...
Просмотров: 86, оставить комментарий   

> ScyllaDB C++ Qt
Автор Гость_Крот_* — 10.3.2017, 17:16 — 1 комментариев
Добрый день! Есть такая БД NoSQL ScyllaBD http://www.scylladb.com/. В связке С++ и Qt, какой драйвер использовать для подключения?
Просмотров: 279, последний комментарий от lanz   

> Будут ли новые виджеты?
Автор ht1515 — 5.3.2017, 13:17 — 3 комментариев
Будут ли новые виджеты?
Например как микрософт офисе менюшка сверху.
Планируется пополнение ли?
Просмотров: 335, последний комментарий от lanz   

> all queries will cease to work
Автор ht1515 — 4.3.2017, 20:43 — 1 комментариев
Цитата
[W] [20:37:52] [kernel\qsqldatabase.cpp : 234] *** QSqlDatabasePrivate::removeDatabase: in use, all queries will cease to work. ***
[W] [20:38:05] [kernel\qsqldatabase.cpp : 261] *** QSqlDatabasePrivate::addDatabase: duplicate connection name 'pm', old connection removed. ***connection 'pm' is still in use, all queries will cease to work. ***

Как с этим бороться?
Просмотров: 312, последний комментарий от Алексей1153   

> В QTabWidget не работает installEventFilter()
Автор DruidCat — 1.3.2017, 7:38 — 6 комментариев
Друзья помогите, очень долгое время читал форумы и не нашёл ответа на свою проблемму, а ума самому решить её не хватает. Обращаюсь к вам, помогите.
У меня в программе есть вкладки QTableWidget, назвал я их ptwdGlavnaya.
есть фильтр событий.
/*virtual*/ bool DCHelper::eventFilter(QObject* proditel, QEvent* pevent){//переназначаем Фильтр событий                                                
/////////////////////////////////////                                                                        
//---Ф И Л Ь Т Р   С О Б Ы Т И Й---//                                                                        
/////////////////////////////////////                                                                        
    if((pevent->type()==QEvent::MouseButtonPress)||(pevent->type()==QEvent::Wheel)                            
            ||(pevent->type()==QEvent::KeyPress)){//Если произошёл клик мышки или колёсика или клавиатуры,то..
        slotVremyaProstoya();//Обнуляем счётчик времени простоя программы без пользователя.                  
    }                                                                                                        
    return false;//Пропускаем событие на дальнейшую обработку в программе.                                    
}


есть метод прописывающий условия срабатывания фильтра
void DCHelper::adminVremyaProstoya(){//Метод, в котором прописываются правила фильтра события в Администрирова                                          
///////////////////////////////////////////////////////////////////////////                                  
//---Ф И Л Ь Т Р Ы   С О Б Ы Т И Й   А Д М И Н И С Т Р И Р О В А Н И Я---//                                  
///////////////////////////////////////////////////////////////////////////                                  
    this->installEventFilter(this);                                                                                                                                              
    ui->pcmdComLoginVihod->installEventFilter(this);                                                                                                                      
    ui->ptwdGlavnaya->installEventFilter(this);
}


Всё замечательно работает: кнопочки, поля ввода текста и так далее, КРОМЕ ВКЛАДОК:
 ui->ptwdGlavnaya->installEventFilter(this);

Когда я кликаю по ptwdGlavnaya, ничего не происходит. Друзья, подскажите пожалуйста, как мне сделать так, чтобы при нажатии на вкладки ptwdGlavnaya у меня срабатывал фильтр событий?
Просмотров: 570, последний комментарий от DruidCat   

> С++ --> QT Script ?
Автор JohnZ — 27.2.2017, 13:29 — 4 комментариев
Есть такая функция в С++ коде

void MainWindow::callFunc(QString ffName, int fnum)
{
    QString fName = QString("%0%1").arg(ffName).arg(fnum);
    if (engine->globalObject().property(fName).isValid())
        engine->globalObject().property(fName).call();
}


Вопрос заключается в том, можно-ли это-же действие сделать из скрипта ?
Желательно-бы вызов ф-ции с параметрами ....
Просмотров: 540, последний комментарий от JohnZ   

> Qt QWebView не Переходит по url
Автор Egor12 — 26.2.2017, 9:15 — 0 комментариев
Доброго времени суток. Такая проблема пишу я свой браузер дошел до истории браузера. В QListWidget высвечивается история. При двойном щелчке должен происходить переход по ссылке из истории в QWebView но он просто игнорирует. Делаю так:
windowHistory - это и есть QListWidget.
подключаю слот:

QObject::connect(&windowHistory,SIGNAL(itemDoubleClicked(QListWidgetItem*)),SLOT(transition_li
nk(QListWidgetItem*)));

сам слот:

void History::transition_link(QListWidgetItem *iteem){
QUrl url = iteem->text();
WebView web;
web.load(url);
}

Что я делаю не так? Обьясните пожалуйста новичку.
Просмотров: 480, оставить комментарий   

> Вывод информации в консоль - qjsengine
Автор groigor — 25.2.2017, 17:14 — 1 комментариев
Когда выводишь в консоль к примеру командой: "print("hello world!");
Получается след. выхлоп:
"js: hello world!"

Вопрос как избавиться от приставки "js: " - сделать чистый вывод без этого информационного дополнения???? В qtscript такого не было....
Просмотров: 485, последний комментарий от groigor   

> QT Creator не опредиляет типы
Автор Snak2013 — 22.2.2017, 9:09 — 4 комментариев
Доброго времени суток, я подключил библиотеки типа *.tlb к QT Creator и попытался использовать типы из этих библиотек но Creator не определяет эти типы как типы при этом код успешно компилируется и даже работают методы их подключенных библиотек. Однако плагин ClangCodeModel ругается на эти типы сообщая что они неизвестны.
Библиотеки подключил так:
#import "C:\Program Files (x86)\ASCON\KOMPAS-3D V16\SDK\Lib\ksConstants3D.tlb" no_namespace named_guids
#import "C:\Program Files (x86)\ASCON\KOMPAS-3D V16\SDK\Lib\ksConstants.tlb" no_namespace named_guids
#import "C:\Program Files (x86)\ASCON\KOMPAS-3D V16\SDK\Lib\kAPI2D5COM.tlb"  no_namespace named_guids
#import "C:\Program Files (x86)\ASCON\KOMPAS-3D V16\SDK\Lib\kAPI3D5COM.tlb"  no_namespace named_guids
#import "C:\Program Files (x86)\ASCON\KOMPAS-3D V16\SDK\Lib\kAPI7.tlb"       no_namespace named_guids
#import "C:\Program Files (x86)\ASCON\KOMPAS-3D V16\SDK\Lib\kApi5.tlb"       no_namespace named_guids


Подскажите пожалуйста что я сделал не так и как заставить Creator нормально воспринимать типы из этих библиотек
Просмотров: 543, последний комментарий от Snak2013   

> плавающий баг вывода utf8 на stdout
Автор lrx2 — 17.2.2017, 15:04 — 10 комментариев
Qt Creator 3.2.2 основан на Qt 5.3.2, компилятор minGW 4.9.1
Первый cout печатает, второй - нет.
Если убрать system("chcp"), то печатает все (с крякозябрами).
В чем прикол?

#include <QCoreApplication>

#include <iostream>
using namespace std;

#include <stdio.h>
#include <Windows.h>

int main(int argc, char *argv[])
{
    QCoreApplication a(argc, argv);

    system("chcp 65001");
    cout<<"cout 0: rus text : русский  текст"<<endl;
    cout<<"cout 1: after rus text\n";

    return a.exec();
}



Другой код:
#include <QCoreApplication>
#include <iostream>
using namespace std;
#include <Windows.h>

int main(int argc, char *argv[])
{
    QCoreApplication a(argc, argv);

    cout<<"default console outputCP: "<<GetConsoleOutputCP()<<"\n";
    cout<<"default console CP: "<<GetConsoleCP()<<"\n";
    cout.flush();

    SetConsoleCP(CP_UTF8);
    SetConsoleOutputCP(CP_UTF8);

    cout<<"new console outputCP: "<<GetConsoleOutputCP()<<"\n";
    cout<<"new  console CP: "<<GetConsoleCP()<<"\n";
    cout.flush();

    cout<<" введите русский текст: ";
    char s[100];
    cin>>s;
    cout<<" вы ввели: ["<<s<<"]";
    cout.flush();

    return a.exec();
}

На одном компе (win 7) после ввода строки и нажатия enter просто переходит на новую строчку и все,
на другом (win 8, minGW 4.8.2 - больше нет отличий):


-----
Я где-то память порвал в этом коде?..
Подскажите нубу.
Спасибо.

Просмотров: 890, последний комментарий от lrx2   

RSS Текстовая версия Сейчас: 27.3.2017, 7:29