crossplatform.ru

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

История благодарностей участнику lanz ::: Спасибо сказали: 113 раз(а)
Дата поста: В теме: За сообщение: Спасибо сказали:
25.10.2017, 10:15 инициализация std::atomic
struct s {
  std::atomic<int> n{0};
};
Алексей1153,
1.8.2017, 16:27 Как достать номер версии приложения?
через QResource можно попробовать потыкать
http://doc.qt.io/qt-4.8/qresource.html#details
DaLgAMYeVr1, hxr3Wawd9g1,
11.7.2017, 18:56 Работа с географией в qt 9or6UxhWRa1, DaLgAMYeVr1, gHzcXItj3a1,
6.7.2017, 13:16 data() MVC из скрипта возможно ?
Цитата(JohnZ @ 6.7.2017, 12:06) *
Это уже при линковке. Чё с этим делать хз ...

Это распространенная вещь, MOC не находит твой заголовочник.

Проверь что fpmodels.h включен в HEADERS в .pro файле
Попробуй перезапустить qmake (Build->Run qmake)
Пересобери.

Если не поможет, тащи сгенерированный Makefile, будем посмотреть :)
Цитата(JohnZ @ 6.7.2017, 12:06) *
Дык что-бы иметь одну универсальную, на все случаи ...

Так не бывает :lol:
А еще YAGNI ;)

Цитата(JohnZ @ 6.7.2017, 12:06) *
Дык скриптовую поддержку можно отдать "наружу" :) Как в ERP-системах.

Это если есть хорошее API между скриптом и сишной частью, иначе все равно придется лезть в сишный код/дергать тебя.

Цитата(JohnZ @ 6.7.2017, 12:06) *
Ни разу. В чём подвох ? :)

Тогда смысл ее выносить в скрипт? :)
JohnZ,
5.7.2017, 11:09 data() MVC из скрипта возможно ?
См. приложение.
Цитата
Дык по-любому все объекты получатся проксируемыми, или я чего-то не догоняю ... :(

Только те, у которых используется прокся :)
Цитата
... и ХТО такой SRP ? Просвети plz, если можно ссыль ... ?

Single Responsibility Principle из SOLID
https://en.wikipedia.org/wiki/SOLID_(object-oriented_design)
Цитата
Вот если-бы они "росли"

Prefer composition to inheritance :)
Цитата
Дык какая колонка чего должна показать и должна "разобраться" data() !? ... или я тебя не правильно понял :-(

В ScripProxy можно завести другие проперти, которые позволят фильтровать уже в ScripProxy::data, не дергая скрипт, например если скрипт умеет обрабатывать только 1 колонку, то можно для остальных и не вызывать коллбэк.
Цитата
LANZ - а можно по-подробнее сей момент "разжевать" ???

Тот же пример что выше - if по номеру колонки можно сделать в скрипте, тогда скрипт будет вызываться для всех колонок. А можно сделать в ScriptProxy::data и сравнивать с вынесенным property. Тогда скрипт будет вызываться только для одной колонки.
Цитата
и здесь, и если можно псевдо-кодом ?

Вроде того:
function data(row, col, model) { return model.data() }

args << engine->newQObject(sourceModel())
JohnZ,
27.6.2017, 16:18 Динамический вызов ф-ции в QT Script
В qscript можно использовать просто this вместо window для глобального объекта (по моему я так писал :lol:)
JohnZ,
13.4.2017, 9:30 #pragma pack и __attribute__
Цитата
Вроде бы работает, но меня не покидает ощущение, что что-то я сделала не так, или можно было покрасивее.

Лучшее враг хорошего, но тут правда есть что улучшить, поскольку __attribute__ это специфика GCC, а pragma - студии, то что вы будете делать когда кто то будет собирать ваш код под виндой с помощью например mingw? :lol:
Лучше использовать дефайны, определяющие компилятор, а не систему, например:
_MSC_VER
__GNUC__

Хотя и gcс в общем то поддерживают прагму.
https://gcc.gnu.org/onlinedocs/gcc-4.3.1/gc...ng-Pragmas.html
Анна,
19.1.2016, 19:46 QString объект из функции.
Цитата
принимает примерно следующий вид

Нет, RVO, означает что не создается временный объект для хранения значения, возвращаемого из функции.
Локальная переменная не отбрасывается, иначе бы qDebug() ничего не печатал бы.

Немного переделанный пример из википедии:
void returnStr(QString * _hiddenAddress) {
  *_hiddenAddress = "a";
}
Ponchikus,
25.12.2015, 15:37 Установка фильтра, да не простого, а с несколькими or
1. Вариант для ленивых
proxyModel.setFilterRegExp(r"Томаты|Огурцы|Картофель")
http://doc.qt.io/qt-5/qsortfilterproxymode...lterRegExp-prop
2. Для не очень ленивых, позволяющий фильтровать в коде а не в регекспах - перегрузить
http://doc.qt.io/qt-5/qsortfilterproxymode...ilterAcceptsRow
poluna,
21.12.2015, 15:44 python, аргументы класса
Интерпретатор говорит что объект типа "тип" нельзя использовать как dict (и он прав, нет метода __getitem__ :lol: )
Либо используйте __dict__, либо getattr
  for k in SimplePacket().__dict__.iterkeys():
    print k
    print SimpleView.__dict__[k]
    print getattr( SimpleView, k )

Вообще я не гуру питона, но не лучше ли использовать списки, кортежи или те же самые словари?
poluna,
16.12.2015, 14:53 Получение порядкового номера QTreeView
poluna, ну у меня ваш код вроде работает как надо, ЧЯДНТ? :lol:
Немножко поменял hidePopup, чтобы он сразу все не корячил:
    def hidePopup(self):
        if self._skipNextHide:
            self._skipNextHide = False
        else:
            self.setRootModelIndex(self.view().currentIndex().parent())
            self.setCurrentIndex(self.view().currentIndex().row())
            QtGui.QComboBox.hidePopup(self)
poluna,
16.12.2015, 12:44 Получение порядкового номера QTreeView
Цитата
"внемодельное" дерево

Ойойой, не слушайте его, он вас плохому научит! :lol:
По идее модель в комбобоксе и модель в дереве слева - это должна быть одна и та же модель.
Поэтому индекс от одного должен подходить к индексу от другого.

Т.е. вы сначала получаете выделенный индекс от дерева
(назовем его idx)

потом в комбобоксе делаете
combo->setRootModelIndex(idx.parent())
combo->setCurrentIndex(idx.row())

http://doc.qt.io/qt-4.8/qcombobox.html#setRootModelIndex
http://doc.qt.io/qt-4.8/qcombobox.html#currentIndex-prop
poluna,
15.12.2015, 16:48 QFileSystemModel и сигнал о перемещении файла
Цитата
просто надеялся, что хотя бы QFileSystemModel умеет фильтровать


Попробуйте посмотреть в dropMimeData, переопределить его, разобрать то что дропнуто.

Вот:
https://github.com/qtproject/qtbase/blob/3b...model.cpp#L1192
Там все очень просто сделано, и понятно как перегрузить.
dmsovetov,
3.12.2015, 9:50 Как получить доступ к объекту другого приложения, если получен адрес этого объекта
Записывайте в общую память флаг "активируйся!". И пусть приложение опрашивает этот флаг. Как только он поднят, вызываем activateWindow, сбрасываем флаг.
MishaUA,
17.11.2015, 9:30 QTextCursor и подсветка текста в QPlainTextEdit
На вскидку
ui->plainTextEdit->textCursor().charFormat()


Возвращает charFormat в позиции родного курсора. Поэтому когда выделение доезжает до этого места
то
textCursor->setCharFormat(ui->plainTextEdit->textCursor().charFormat()); //стирает выделение

не стирает выделение, а получает *charFormat.
Что из этого следует надо еще подумать. Смысл в том что charFormat не связан с курсором, это общие данные, которые используют оба курсора, отсюда и перемешивание.
Kroll,
11.11.2015, 10:07 Обмен сигнал-слотами крашится
Поскольку оба объекта в одном потоке, вызовы слотов происxодят как вызовы обычных функций и получается бесконечная рекурсия:
void a() {
b();
}
void b() {
a();
}

a();

Если хотите устроить такой обмен, используйте либо QTimer::singleShot(0, go/back), чтобы поток вернулся в цикл обработки событий, прежде чем вызывать метод.
Либо откажитесь от такого циклического вызова. Кстати зачем он вам? Возможно вы решаете не ту проблему.
cupersuper,
29.8.2015, 0:10 Что я не так делаю с указателями?
    if((_strList[i] == "point")||(_strList[i] == "poligon")||(_strList[i] == "line"))
    {
        if((_strList[i] != "=")||(_strList[i] != ".")||(_strList[i] != ",")||(_strList[i] != ":"))
        {

Это условие вообще лишнее, поскольку мы уже знаем, что _strList[i] это point, line или polygon.
Shaitan,
8.8.2015, 11:46 правильная ли реализация
Цитата
Как правильно или где правильно удалять fd?

Используйте deleteLater. С обычным delete объект удаляется, а потом управление возвращается в fileDownloaded уже удаленного объекта.

Цитата
Можно, конечно, скрестить ужа с ежом (bash с QT).

Не вижу в этом ничего предосудительного :lol:

Цитата
но хочеться только средствами QT :)

Но зачем?
rich,
7.8.2015, 13:05 правильная ли реализация
Из некритичного/отсутствующего.
1.
check *cck = new check();

cck не удаляется. Можно объявить локальной переменной(не указателем).
2. fd не удаляется (или не видно где удаляется)
3. "URL_TO_FILE" hardcoded.

Вообще мне все нравится, но я бы делал скачку файла отдельно, например через curl, а прога обрабатывала уже скачаный файл через pipe или еще как.
rich,
4.8.2015, 9:11 variable or field '*' declared void Qt
QList это шаблон, соответственно нужно указать с элементами какого типа вы хотите его использовать.
Например QList<int> или QList<QString>
https://ru.wikipedia.org/wiki/Шаблоны_C%2B%2B
Shaitan,
29.7.2015, 10:39 привязка переменных в QtScript
Цитата
obj.property("var_A")

Могу уже подзабыть кое что, но насколько я помню obj.var_A работает так же.
call_me_Frank,
28.7.2015, 21:35 привязка переменных в QtScript
Можно создать QObject и передать его в скрипт,
все Property этого объекта будут синхронно менятся в C++ и в скрипте.
http://doc.qt.io/qt-5/properties.html
call_me_Frank,
20.7.2015, 9:57 QRegExp как выловить квадратные скобки?
Попробуйте \\[ (два слеша, один для компилятора, другой для регекспа).
Shaitan,
15.7.2015, 18:50 QVariant data() роли.
Цитата
Это понятно, а как представление определяет с какой именно ролью вызывать эту функцию?? Т.е. как представление определяет что сейчас передается роль Qt::ToolTipRole, откуда оно узнаёт что мы передаётся роль 13(Qt::ToolTipRole) ?

Нужно ей тултип показать - она передает ToolTipRole,
Нужно ячейку перерисовать, передает DisplayRole,
В общем по мере надобности :lol: А уж представление знает когда что ему нужно.

А то какая роль за что отвечает - это соглашение.
Ponchikus,
15.7.2015, 18:16 QVariant data() роли.
Цитата
QVariant преобразуется в QSize, и изменит размер ячейки (10,10)??

Ну это зависит от реализации конкретного представления, может поменять, а может проигнорировать :lol:

Цитата
А как тогда модель определяет, какая именно роль в данный момент ей передается?? Это похоже на обработчика событий (QPaintEvent, QResizeEvent...)??

Да вот же она, передается как параметр:
QVariant MyModel::data( const QModelIndex & idx, Qt::ItemDataRole role )
Ponchikus,

5 страниц V   1 2 3 > » 
RSS Текстовая версия Сейчас: 22.10.2018, 7:02