crossplatform.ru

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

История благодарностей участнику lanz ::: Спасибо сказали: 113 раз(а)
Дата поста: В теме: За сообщение: Спасибо сказали:
14.5.2013, 9:20 QWT, QwtPlotCurve::setData(), bad_alloc
Переопределять eventFilter бесполезно, потому что он фильтрует события а не вызывает обработчики.
Можно переопределить метод event(или чего уж там, paintEvent) и там отлавливать.

Но что то мне подсказывает, что если вылезает bad_alloc, то данных слишком много, может подумать над их подкачкой?
Кстати в 6 версии используется
http://qwt.sourceforge.net/class_qwt_series_data.html

С ним можно абстрагироваться от непрерывного массива и сделать "окно" в принципе любого размера.
(в 5 версии называется QwtData и тоже в принципе похож)
Алексей1153,
7.5.2013, 16:49 Как выделить текущую (current) ячейку (не selected) в QTableView
setStyleSheet ("::item:focus {background-color:green}");

Только нет такого понятия как current ячейка. Выделена именно та что поймала фокус.
Vlad7g,
25.4.2013, 13:54 QwtPlotMarker
mY->setYAxis (QwtPlot::yRight)

:lol:
demaker,
23.4.2013, 16:30 Сигналы/Слоты
Специально для таких случаев есть QSignalMapper
http://qt-project.org/doc/qt-4.8/qsignalmapper.html#details
ALeXUI,
10.4.2013, 10:49 Размеры изображения
Цитата
Qt тут вообще не учавствовал.


А это что?
Цитата
QImage img(dir.absoluteFilePath(file));


Цитата
Он удалил почти все большие, но парочку оставил.

Я написал почему это может быть. Проверьте isNull изображений, если он возвращает true, значит Qt не может их загрузить из-за отсутствующего плагина или по другой причине.
sanaforewer,
8.4.2013, 16:49 QTcpSocket. write.
Необязательно нажимать на авто, клиент и сервер попадают в бесконечный цикл.

Итак после поворота ручки клиент посылает серверу сообщение об изменении, в ответ тот посылает одобрение:
 case ClientSocket::attenuatorChange_d2_Good :

Клиент, будучи доволен одобрением выставляет ручку аттеньюатора в одобренное значение: 8)
ui_.attenuatorValue_d2->setValue(attenuatorValue);

Однако коварный Qt подготовил ловушку в виде отслеживания изменения ручки! :blink:
connect(ui_.attenuatorValue_d2, SIGNAL(valueChanged(int)), this, SLOT(setAttenuatorValue_D2(int)));

Не успело новое значение примениться, как слот спешит доложить новое значение серверу: :o:
    commandClient_ = ClientSocket::attenuatorChange_d2;
    emit requestSent();

Который успешно его получает: :huh:
case attenuatorChange_d2 :

и отправляет свое одобрение: ;)
//command to client
out << attenuatorChange_d2_Good;

Что возвращает нас к началу нашей истории :lol: .
leonneon_89,
5.4.2013, 9:50 Перескок веб-страницы в начало при её перезагрузке. Litkevich Yuriy,
4.4.2013, 8:42 Редактируемый заголовок QGroupBox
Ну раз погорячился, тогда ладно :lol:

Я бы делал так:
QRect CustomGroupBox::getTextRect() const
{
    QStyleOptionGroupBox option;
    this->initStyleOption(&option);
    return this->style()->subControlRect (QStyle::CC_GroupBox, &option, QStyle::SC_GroupBoxLabel, this);
}

Не проверял :lol:
barabaka,
1.4.2013, 10:37 PyQt4 Toolbar
Вот эта строка создает событие.
self.exit = QtGui.QAction(QtGui.QIcon('icons/exit.png'), 'Exit', self)

Аналогично можно создать еще.
И добавить так же как тут:
self.toolbar.addAction(self.exit)


Например:
self.doStuff = QtGui.QAction(QtGui.QIcon('icons/awesome.png'),'Stuff', self)
self.toolbar.addAction(self.doStuff)
Toisen,
27.3.2013, 14:33 Ошибка при использовании метода setPixel класса QImage
Вот это
px = 492 + i * math.cos(self.MyGradusToRadian(j/2))
py = 492 + i * math.sin(self.MyGradusToRadian(j/2))


Надо перенести внутрь цикла
for j in range(0, 720, 1):
     for i in range(491, -1, -1):
          im.setPixel(px, py, QtGui.QColor(bf[j][-i], bf[j][-i], bf[j][-i], 255).rgba())

Иначе px и py не обновляются и остаются одинаковыми на каждой итерации.
zuze,
27.3.2013, 10:12 Ошибка при использовании метода setPixel класса QImage
В функции f1

for i in range(491, 0, -1):


Происходит загрузка 491 элемента из каждой строки (491...1) поэтому картинка при загрузке смещается.
Надо начинать от 492.
zuze,
26.3.2013, 16:38 Qt и реакция на ввод
Нет, не в том. Нужно создать свой класс, который наследует от QTextEdit.
И в нем описывать свой метод.
class CustomTextEdit : public QTextEdit {
    public:
        // конструктор/деструктор
    protected:
        void keyPressEvent(QKeyEvent *){}
};

Затем вместо QTextEdit добавить свой класс в форму.

Еще одним способом является установка фильтра событий - http://qt-project.org/doc/qt-4.8/qobject.h...tallEventFilter
AndrewKlykow,
25.3.2013, 11:57 Ошибка при использовании метода setPixel класса QImage
http://docs.python.org/2/library/stringio.html
Например позволяет обращатся со строкой (массивом) как с файлом.
QBuffer позволяет использовать QByteArray как файл.

Цитата
Мне нужно так:
...
И так далее.


fp.read (3) на каждой итерации считывает следующие три байта. Поэтому color[0] на каждой итерации будет разным. Вы же его печатали на экран и видели как он изменяется.
zuze,
25.3.2013, 11:51 считывание таблицы из xls (Excel)
Можно получить объект Range, а потом прочитать его value как QVariantList.

QAxObject *range = sheet->querySubObject("Range(const QVariant&)", "A1:A100");
QVariantList vlist = qvariant_cast<QVariantList> (range->dynamicCall("Value()"));


Если рэнж прямоугольный, получится QVariantList QVariantList-ов.

Не проверял :lol:, у меня была обратная задача, я выкидывал данные через qscript (ax - обертка для генератора объектов, SubObj - вызывает querySubObject, table - список списков).
Раскрывающийся текст
var table = [];
    for (var i = 0; i < exids.length; ++i) {
        var row = make_row(exids[i]);
        table.push (row);                       ;        
    };
    var range_str = ("A2:" + columns[ExportCols.length - 1] + (exids.length + 1));
    range = ax.SubObj(sheet, "Range(QVariant)", range_str);
    range.Value = table;
Алексей1153,
25.3.2013, 8:33 Ошибка при использовании метода setPixel класса QImage
http://docs.python.org/2/library/struct.html
Цитата
struct.unpack(fmt, string)

Unpack the string (presumably packed by pack(fmt, ...)) according to the given format. The result is a tuple even if it contains exactly one item. The string must contain exactly the amount of data required by the format (len(string) must equal calcsize(fmt)).


unpack всегда возвращает tuple ( http://docs.python.org/2/library/stdtypes.html#typesseq ).
В кратце - это немодифицируемый массив.
Чтобы получить первый элемент нужно обратится к нему как к списку:
color = struct.unpack("B", fp.read(1))
print color[0]
zuze,
22.3.2013, 8:21 Ошибки при работе с файлами и каталогами
for j in range(0, 720, 1):
     bf.append([])
     for i in range(491, 0, -1):
         bf[j].append(i+j)
         print bf[j]

Только что из DreamPie, все работает, все выводит :lol:
Кстати рекомендую http://www.dreampie.org/ очень удобно пробовать конструкции которые давно не использовал.
zuze,
21.3.2013, 15:20 Ошибки при работе с файлами и каталогами
for j in range(0, 720, 1):
     bf.append ([]);
     for i in range(491, 0, -1):
          bf[j].append(fp.read(1))


Все же советую использовать что нибудь из следующего:
http://docs.python.org/2/library/array.html - одномерные массивы.
http://www.numpy.org/ - многомерные массивы и полезные функции.
http://www.pythonware.com/products/pil/ - для работы с изображениями.

Кстати, никто не знает альтернативу PIL(что сейчас модно :lol:)? Печалит последний релиз четырехлетней давности.
zuze,
21.3.2013, 8:25 Присвоить значение
Цитата
обращений к этой(им) переменной у меня будет очень много


Если обращений к конкретной переменной много(очень много(очень очень много(то есть сделано профилирование на готовой программе и доказано что затык в этом месте)), то ее можно закешировать:
int my_var = my_map[var_name];
// много обращений к переменной


А вообще это преждевременная оптимизация.
nikita,
20.3.2013, 13:15 Ошибки при работе с файлами и каталогами
В функцию заполнения тоже нужно добавить
global NF
zuze,
12.3.2013, 16:43 QTableView: Как задать цвет фона для одной секции заголовка?
Это проблема дефолтного стиля.
Например если сделать так
view->verticalHeader ()->setStyle (new QMotifStyle);

то все в порядке.

Не очень спортивно конечно, зато дешево и сердито :lol:
Steklova Olga,
12.3.2013, 13:53 QTableView: Как задать цвет фона для одной секции заголовка?
Можно переопределить в модели headerData, чтобы он в ответ на Qt::BackgroundRole, возвращал нужный QBrush.
Например:
class CustomModel : public QSqlTableModel {
    public:
        virtual QVariant headerData ( int section, Qt::Orientation orientation, int role = Qt::DisplayRole ) const {            
            if (role == Qt::BackgroundRole) {
                QVariant value;
                if (section == 42)
                    value.setValue (QBrush(Qt::blue));
                else
                    value.setValue (QBrush(Qt::red));
                return value;
            };
            return QSqlTableModel::headerData (section, orientation, role);
        };
};
Steklova Olga,
11.3.2013, 15:00 QWT: значения шкалы не соответсвуют масштабу
Мои телепатические умения подсказывают :lol: , что ты забыл назначить кривой нужную ось:
plot_curve->setAxes (QwtPlot::xBottom, QwtPlot::yRight);
demaker,
11.3.2013, 9:22 Как рисовать из объекта QImage по окружности?
Скорее всего this->MyRadianToGradus(phi) становится больше 360.
Вообще интересно скриншот посмотреть.
zuze,
11.3.2013, 8:34 Помогите установить QWT
cl - это компилятор от студии.
Пишет ошибку что не может его найти, т.к. скорее всего пути к нему нет в переменной PATH.
vcvarsall.bat устанавливает переменные окружения (PATH и т.д.) чтобы можно было пользоваться студийными средствами.
vly67,
6.3.2013, 10:14 задачка
Эээ, спойлер
Раскрывающийся текст
http://en.wikipedia.org/wiki/Graham_scan

Раскрывающийся текст
http://en.wikipedia.org/wiki/Convex_hull_algorithms

:lol:
Алексей1153,

5 страниц V  « < 2 3 4 5 >
RSS Текстовая версия Сейчас: 3.3.2021, 2:39