2627
|
Qt / Пользовательский интерфейс (GUI) / Удалить из QTextEdit первые несколько символов или строку
|
: Май 10, 2007, 15:59
|
Если я правильно понял, то ты делаешь окно лога, так? Задай лимит на кол-во блоков при помощи QTextDocument::setMaximumBlockCount. Specifies the maximum number of blocks the document may have. If there are more blocks in the document that specified with this property blocks are removed from the beginning of the document. Или тебе нужно ограничить длину стоки?
|
|
|
2630
|
Qt / Установка, сборка, отладка, тестирование / [qt-4.2.3] как скомпилить qt, что бы она была Multithread
|
: Май 10, 2007, 15:11
|
Как это "просто Multithread"? Есть два вида Multithread: static link и dynamic link. По дефолту Qt собираеться как Multithreaded, dynamic link. Тебе нужно Multithreaded, static link? Какая проблема у тебя с другими либами? ЗЫ: Если тебя интересует второй вариант сборки (Multithreaded, static link), то загляни сюда http://prog.org.ru/forum/htopic_4733_qmake+conf.html
|
|
|
2631
|
Qt / Общие вопросы / аналог WM_CREATE или onCreate
|
: Май 10, 2007, 15:01
|
ну вот так вот. та же 4,2,3 свежесобранная на ресайз окна - размер не корректный, на ресайз сплиттера - верный
там этот сплиттер в лайауте в лайауте в лайауте в лайауте, о как. может потому. окно сложное У тебя есть валидный размер главного окна при resizeEvent. Попробуй задавать размеры сплитеров исходя из этого. ЗЫ: Чтобы ты не говорил, лайауты в Qt - это очень мощная система. Размещение виджетов в Delphi нервно курит в сторонке по сравнению с ней.
|
|
|
2632
|
Qt / Общие вопросы / аналог WM_CREATE или onCreate
|
: Май 10, 2007, 14:50
|
pastor: для одного сплиттера все ок если повеситься на ресайз окна - то у сплиттера еще не валидный размер Очень странно, у меня похожий вариант работает (задаеться ширина детей, выставляю ширину колонок для QTableWidget и т.д). Даже сделат только что тестовый пример, сплитер двигаеться без проблем Qt 4.2.3
|
|
|
2633
|
Qt / Общие вопросы / аналог WM_CREATE или onCreate
|
: Май 10, 2007, 11:33
|
2 Tertium Organum: goer предложил resizeEvent(QResizeEvent *e). Чем он тебя не устроил? Переопредели его для главного окна и выставляй размеры чего хочешь
|
|
|
2634
|
Qt / Пользовательский интерфейс (GUI) / QTreeWidget и мышь
|
: Май 09, 2007, 18:58
|
1) Попробуй сделать так: void XmlTree::mousePressEvent(QMouseEvent *event) { if(event->button()==Qt::RightButton) { currentItem()->setForeground(0,Qt::magenta); return; } QTreeWidget::mousePressEvent(event); }
2) Обрати внимание на сигнал void customContextMenuRequested ( const QPoint & pos ) Законекть этот сигнал со слотом: XmlTree::XmlTree(...) { ... connect(this, SIGNAL(customContextMenuRequested(const QPoint &)),this, SLOT(yourSlot(const QPoint &))); ... }
void XmlTree::yourSlot(const QPoint &pt) { QTreeWidgetItem *item = itemAt(pt); if (!item) return; ... }
Ты получишь указатель на элемент, по которому произвёл клик правой кнопкой мыши. Далее делай что нужно.
|
|
|
2635
|
Qt / Общие вопросы / Аналог Sleep, GetTickCount
|
: Май 08, 2007, 16:22
|
Какие минусы у этого "костыля"? Какое решение было бы лучше?
Минус в том, что не факт что за 10мс данные будут в ком порте и ты сможешь их прочесть. За это время может прийти часть данных. Это может быть вызвано разными причинами, например темиже настройками сканера, ком порта или прочим. Мы делали как: У нас был потом, который работал со сканером. В сканере задавались определённые терминальные симполы. Далее, когда данных в порте нет, мы усыпляли потом (но не слипом). Как только появлялись данные в порте мы считывали их (9 или 13 байт) до тех пор, пока не встретяться терминальные символы. Этим обеспечивалось полнота считывания штрих кода.
|
|
|
2637
|
Qt / Общие вопросы / Re: Аналог Sleep, GetTickCount
|
: Май 08, 2007, 10:46
|
Послностью согласен с QCasper, решение предложеное Gryz это просто костыль, в корне неправильное решение. По теме... Есть кросовые аналоги для Sleep и GetTickCount ? Помоему кросового варианте для sleep нет. Можешь сделать так: void sleep(unsigned int umilliseconds ) { #ifdef Q_WS_WIN Sleep(umilliseconds); #else usleep( umilliseconds * 1000 ); #endif } Насчёт GetTickCount. Для каких целей тебе нужно использовать эту функцию. Если для замеров времени, то можно применить QTime (см. методы elapsed(), start())
|
|
|
2639
|
Qt / Пользовательский интерфейс (GUI) / Re: geometry на workspase
|
: Май 07, 2007, 20:44
|
Вот что написали троли по этому поводу: I am able to reproduce this problem when using the Qt4.2.3 release but this problem is already resolved for the Qt4.3 release due to the new workspace that is introduced for this release, the QMdiArea class. Please try the latest Qt4.3 snapshots and if you still get the same problematic behavior then please get back to us. I used the mdi example that is provided with the Qt package ( located under $QTDIR/examples/mainwindows/ directory ) and it seems that the pos() method returns different values everytime the subwindow is moved withing the workspace area.
|
|
|
|
|