crossplatform.ru

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


Сейчас на сайте человек: 591
(пользователей: 1, гостей: 590)
Google.com, Crawler.de, Yandex.com, Yahoo.com, Baidu.com, Iron Bug

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

Январь 2017

  ПВСЧПСВ
»
1
»
2
3
4
5
6
7
8
»
10
11
12
14
15
»
16
17
18
19
21
»
23
27
28
29
»
30
31

> Последние обсуждения
Egor12 @ 17.1.2017, 13:13
Просмотров: 72   Комментариев: 5
 
> Cookie в QWebView - C++ Qt
Автор Egor12 — 17.1.2017, 13:13 — 5 комментариев
Доброго времени суток. Как в QWebView добавить cookie чтоб один раз зашел в тот-же vk и при следующем запуске не надо было авторизоваться.
Заранее благодарен.
Просмотров: 72, последний комментарий от ido   

> Копирование узлов из одного XML-я в другой
Автор JohnZ — 16.1.2017, 11:31 — 2 комментариев
Не получается скопировать все дочерние узлы. Как-то странно они копируются ...
Вот код копирования ...
   QList<QDomNode> list;

    .........
    
    list.clear();
    .........

        if (item)    // Приёмник DnD
        {
            QDomNodeList lst = n.childNodes();    // В  lst например 7 узлов
            pid = lst.size();
            for(int i = 0;i < pid;i++)
            {
               item->node().toElement().appendChild(lst.at(i).toElement());
//               list.append(lst.at(i).toElement());
            }

//            pid = list.size();
//            for(int i = 0;i < pid;i++)
//                item->node().toElement().appendChild(list.at(i));

           return true;
         }


В lst например, 7 узлов, добавляются узлы 1 3 5 7, но если снять ремы, то будут добавлены все узлы,
но в порядке 1 3 5 7 2 4 6 [blink.gif] Подскажите, где траблема ...
Просмотров: 83, последний комментарий от JohnZ   

> Нумерация строк QTableView
Автор Gbx — 15.1.2017, 6:27 — 3 комментариев
Использую QSortFilterProxyModel после применения фильтра номера строк остаются те же самые, а необходимо чтобы нумерация начиналась с 1 и далее по порядку (обычная нумерация). Прошу подсказать есть ли способ обеспечить обычную нумерацию?
Просмотров: 104, последний комментарий от lanz   

> Проблема с Переподключением к БД
Автор JohnZ — 11.1.2017, 21:51 — 7 комментариев
Вот кусок кода,

    ....

    fpDB = new fpDataBase(this);    // MYSQL

    if (!fpDB->open())
     qDebug() << "Not Open DB";

    mainForma = new fpForma(fobj, this);
    mainForma->initForm(idt);      // actiontype - Select, Edit etc
    mainForma->exec();

    fpDB->close();
    delete fpDB;


... в котором после 2-го исполнения в консоль начинают сыпаться сообщения

QSqlDatabasePrivate::addDatabase: duplicate connection name 'qt_sql_default_connection', old connection removed.
QSqlDatabasePrivate::addDatabase: duplicate connection name 'qt_sql_default_connection', old connection removed.
QSqlDatabasePrivate::addDatabase: duplicate connection name 'qt_sql_default_connection', old connection removed.
...

Мелочь, а неприятно. :-) Подскажите как побороть ...
Просмотров: 156, последний комментарий от lanz   

> Связь QGLWidget с MainWindow *ui, организованной при создании проекта с Формой ( приложение с Qt Widget )
Автор mlvolkov2 — 11.1.2017, 7:57 — 4 комментариев
Как связать QGLWidget со стандартной Формой MainWindow *ui при построении приложения с QtWidget ?
Просмотров: 131, последний комментарий от mlvolkov2   

> Программное нажатие кнопки (pushButton)
Автор Zet2010 — 10.1.2017, 18:51 — 3 комментариев
Добрый день. У меня такой вопрос. У меня программе есть 2 кнопки (pushButton), созданные в дизайнере. Обе выполняют задачи по включению и выключению чего либо ( но не одного и того же). Мне понадобилось в некоторых случаях, что бы одна кнопка (при нажатии на неё), нажималась не только сама, но и нажимала второю кнопку. Реализовал я это несколькими методами (во сех возникает проблема), остановился я на варианте ui->pushButton_2->clicked(false); Думаю он самый верный и именно через него надо воздействовать на 2-ю кнопку.

...
connect(ui->pushButton_2,SIGNAL(clicked(bool)),this,SLOT(key1(bool)));
connect(ui->pushButton_2,SIGNAL(clicked(bool)),this,SLOT(key2(bool)));
...
void MainWindow::key1(bool checked)
{
    if(checked)
    {
        ...// например что то включаем ON
        return;
    }
    else
    {
        ...// например что то выключаем OFF
       ui->pushButton_2->clicked(false);        // нажимем вторую кнопку
    }
}


void MainWindow::key2(bool checked)
{
    if(checked)
    {
        ...// например что то включаем ON (не связанно с 1 кнопкой)
        return;
    }
    else
    {
        ...// например что то выключаем OFF (не связанно с 1 кнопкой)
    }
}


Всё выключается правильно , после нажатия на 1 кнопку (мышкой), повторное нажатие на 1 кнопку включает состояние 1 кнопки в ON, вторая кнопка остаётся в OFF и если теперь кликнуть мышкой по 2- рой кнопке, кнопка не реагирует и только после повторного клика по 2 кнопке, она становится ON.

Проблема в двойном нажатии на 2-ю кнопку, по идеи она должна и с первого клика срабатывать, но что я видимо делаю не так?





Ошибся я в первой строке , правильный вариант:

 connect(ui->pushButton_1,SIGNAL(clicked(bool)),this,SLOT(key1(bool)));
connect(ui->pushButton_2,SIGNAL(clicked(bool)),this,SLOT(key2(bool)));
Просмотров: 195, последний комментарий от Алексей1153   

> Утечка памяти
Автор Zet2010 — 7.1.2017, 22:46 — 4 комментариев
Добрый день. У меня такой вопрос. Я создаю в программe виджеты QLabel в контейнере QList через оператор new. Так же, при создании эти виджеты становятся детьми виджета scrollAreaWidgetContents.

Мне нужно создавать много объектов типа QLabel в контейнере QList , также периодически их нужно добавлять, удалять
из контейнера. Иногда все сразу удалять нужно.

Всё удаляется, только память не возвращается , а растёт. Всё бы ничего, но растёт она очень сильно, то есть создали объектов (Qlabel) на 40 мегабайт, удалили их и снова создали на 40 , приложение вместо 40 уже 80 мегабайт весит :(

Код создания:

 ...
objList << new QLabel(this->ui->scrollAreaWidgetContents);
objList[i]->setAttribute(Qt::WA_DeleteOnClose);  // моя попытка решить проблему (не помогла)
objList[i]->setGeometry(xpl,ypl, wpl,hpl);
...



Код удаления всех объектов:

for(int i = 0; i < size; i++ )// удаляем все объекты контейнера QList (Qlabel)
{
   delete objList.at(0);
   objList.removeAt(0);
}


Нашёл тут (на форуме) пару тем на похожие проблемы, но решения там я не увидел. Сам попытался решить(в коде подписал я свою попытку),но это увы не помогло, остаётся надеяться только на вашу помощь.

P.s Расход памяти смотрю через диспетчер задач - Windows 10.


Просмотров: 207, последний комментарий от Litkevich Yuriy   

> Визуализация в GUI Битовой маски
Автор JohnZ — 5.1.2017, 15:08 — 11 комментариев
Прошу не пинать за нубский вопрос, после праздников моск не варит :-)
Есть объекты (Роли) у каждого из которых в его маске должен быть установлен
всего один бит, от 1-го до 32-го. Посоветуйте плз как это лучше реализовать ?
Может есть примерчик, буду премного благодарен !
32 RadioButton-а на диалоге выглядят не очень кузяво, а примерчика со списком
с тригерными чеками не нашёл. С тригерными в смысле только один чек-бокс
или RadioButton м.б. включен.
Просмотров: 238, последний комментарий от JohnZ   

> Move constructors (С++11)
Автор Litkevich Yuriy — 5.1.2017, 11:29 — 2 комментариев
Наткнулся в Qt 5 на такую штуку:
QIcon::QIcon(QIcon &&other) обозван "Move-constructs a QIcon instance, making it point to the same object that other was pointing to."

В интернете на русском ничего толкового не нашёл, из буржуйского интернета понял только, что он из С++11 пришёл.

1) Как его по-русски называть?
2) В чём его особенность?
3) Вызывается ли он где-то автоматически (как на пример конструктор копирования при передаче/возвращении в /из функции)?
Просмотров: 128, последний комментарий от lanz   

> Язык программирования и…
Автор ido — 3.1.2017, 8:45 — 5 комментариев
a weak type system may be better for poetry
Цитата
“Define what bugs are once and for all,”
type def interrogates an eight ball.
”Main double has meaning,
long painfully seeking!”
While one short ran: print, fail, and return.

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

> Иконки на QToolBar-е все одинаковые :-(
Автор JohnZ — 2.1.2017, 13:16 — 7 комментариев
Всех с НГ !!!

Какой-то непонятный трабл с созданием динамического QToolBar-a :-(
Все иконки почему-то одинаковые - по последней загруженной ...
Создаю его примерно так

  QPixmap pix;
  QByteArray ba;

    fileToolBar = addToolBar(tr("File"));

    cnt = nodeList.count();
    for (int i = 0;i < cnt;i++)
    {
        ti = nodeList.at(i).toElement();
        idd = ti.attribute(getTagByClass(42), "0").toInt(); // Action id
        ti = XmlHash.value(idd).toElement();    // Ищем Action в хеше
        tName = ti.attribute("name", "xxx");

       // Загрузка иконок

        ba  = MyLoadData(i);
        pix.loadFromData(ba);

//            icon = QIcon(pix);  
//            icon.addPixmap(pix);

        ba.clear();

//        action = new QAction(QIcon(pix), tName, this);
//        action->setIcon(QIcon(pix));
//        fileToolBar->addAction(action);

        action = fileToolBar->addAction(QIcon(pix), tName);
        action->setIcon(QIcon(pix));

        connect(action, SIGNAL(triggered(bool)), this, SLOT(onToolBarItem(bool)));
    }


То что в ремах, - это пробные варианты. Результат одинаков :-(
Проблема в том, что все иконки получаются одинаковыми, т. е. отображается
последняя загруженная из ресурса, но надпись при этом та что нужно.
В чём может быть проблема, подскажите плз ...
Просмотров: 191, последний комментарий от JohnZ   

> воспроизведение видео через QMediaPlayer
Автор arrow — 26.12.2016, 21:57 — 7 комментариев
Я новичек с Qt Creator работаю около недели и решил для обучения написать на Qt Creator 5.7 простой видео проигрыватель с отображением времени воспроизведения видео и регуляцией громкости.

С громкостью и остальным все хорошо, а вот с самим временем воспроизведения и изображением проблемы

Компилировал проект и смотрел как работает на Windows 7 и Debian Linux и получил интересный прикол (возможно туплю я или чего-то не понимаю):

1. На Linux все работает, только у видео нет изображения (у любого видео - avi, mp4, mpeg). На Windows изображение есть.

Что я не так делаю? Какие модули нужно подключать дополнительно кроме QMediaPlayer и QVideoWidget?

2. На Windows все работает хорошо, только если в коде (см. ниже) убрать qDebug() << pos при воспроизведении в label выводится неверное время (все время разное даже на одном файле и одном месте воспроизведения в видео) на Linux без этого вообще ничего в label не выводится.

Помогите, что нужно изменить, чтобы работало без этой строки (строку ввел для тестирования сомневался, что правильно идет перевод из qint64 в QTime)?

Сам фрагмент кода:

    QTime time(0, 0, 0, 0);
    label->setText("00:00:00");

    connect(mPlayer, &QMediaPlayer::durationChanged, playSlider, &QSlider::setMaximum);

    connect(mPlayer, &QMediaPlayer::positionChanged, [&] (qint64 pos) {
       playSlider->setValue(pos);

       // Без этого почему-то время в label выводится не корректно в Windows, а
      // в Linux вообще не выводится
       qDebug() << pos;

       time = time.addMSecs(mPlayer->position());
       label->setText(time.toString("hh:mm:ss"));
    });


Спасибо за любую помощь .
Просмотров: 214, последний комментарий от arrow   

> доступ к данным
Автор KuvshinoF — 26.12.2016, 20:28 — 8 комментариев
Есть класс A
class A
{
private:
int iValue;

public (или private?):
void setValue(int v) {iValue=v;}
int getValue() {return iValue;}
}
extern A objA;

также есть некие классы B, C...
Вопрос: можно ли (если да, то подскажите пож-та на примере) сделать так, чтобы в классе В можно было бы пользоваться (компиляция без ошибок) методами и setValue, и getValue класса А,
а в классе С — ТОЛЬКО методом getValue?
Просмотров: 223, последний комментарий от lanz   

> Зелёный карандаш
Автор Litkevich Yuriy — 26.12.2016, 14:02 — 3 комментариев
нашёл примерах Qt (%QTDIR%\Qt-5.7.0\Examples\Qt-5.7\charts\dynamicspline\chart.cpp)
QPen green(Qt::red);
сначала долго тупил, потом долго ржал :)
Просмотров: 163, последний комментарий от Litkevich Yuriy   

> Производные классы
Автор ViGOur — 20.12.2016, 14:04 — 8 комментариев
Есть класс:

class CClass
{
public:
    virtual void func0();
    virtual void func1();
    virtual void func2();
    virtual void func3();
};
И производные от него классы:
class CClass1 : public CClass
{
public:
    virtual void func0(){}
    virtual void func1(){}
};

class CClass2 : public CClass
{
public:
    virtual void func2(){}
};

class CClass3 : public CClass
{
public:
    virtual void func3(){}
};
В каждом классе частично реализован функционал из класса CClass и если их все соединить, то функционал будет полным.
Нужно так же учесть, то, что какой-то из производных классов можно было бы не использовать (будет функционал CClass по умолчанию)

Нужно изящное решение соединения функционала данных классов, для получения полного функционала!
Просмотров: 932, последний комментарий от lanz   

RSS Текстовая версия Сейчас: 19.1.2017, 5:32