Russian Qt Forum
Май 16, 2024, 21:23 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
 
  Начало Форум WIKI (Вики)FAQ Помощь Поиск Войти Регистрация  
  Просмотр сообщений
Страниц: 1 ... 721 722 [723] 724 725 ... 761
10831  Qt / Общие вопросы / Re: Проблема трудоемких задач (прервать и продолжить) : Декабрь 06, 2009, 21:31
дело ведь не в заполнении таблицы, а также в копировании, вставке, вырезать, сортировка- вариант с тремя кнопками обопщение
Значит во всех этих случаях надо использовать один прием, который я Вам покажу завтра (сейчас мне надо уходить) если буду иметь любую из Ваших долгих ф-ций.
10832  Qt / Общие вопросы / Re: Блокирование интерфейса : Декабрь 06, 2009, 21:04
Закрыл окно и должен убратся процесс, поэтому и нужно остановить выполнение текущей задачи.
Как узнать какая задача в текущий момент выполняется?
Выложите ф-цию, которая заполняет таблицу, я Вам добавлю что Вы хотите - нет уже сил отвечать на Ваши вопросы Улыбающийся
10833  Qt / Qt-инструментарий / Re: С помощью какой программы вы рисуете структуру проекта ? : Декабрь 06, 2009, 14:52
Если нетрудно - поясните что такое "структура проекта" и зачем ее рисовать. А то я теряюсь в догадках..
10834  Qt / 2D и 3D графика / Re: OpenGL, многопоточность : Декабрь 05, 2009, 21:10
Спасибо, ясно. А можно ли закрасить лучше (напр. написать шейдер который будет плавно интерполировать) для 4-х угольника? Какой алгоритм?
Можно сгенерировать текстуру с нужной интерполяцией на CPU, можно и с шейдерами поковыряться...
давно находил демки, уроки с созданием процедурных текстур
Понятно, вижу что такие задачи в Ваш круг интересов не входят. Это нормально, каждому свое
10835  Qt / 2D и 3D графика / Re: OpenGL, многопоточность : Декабрь 05, 2009, 19:05
Цитировать
Не делал этого. Мысли были но не нашел что я буду с этого иметь.

Экономию памяти в 2 раза по идее - например при реализации кабины автомобиля - лобового и бокового стекла - при рендере с расшаренными ресурсами вместо запуска 2-х копий рендера у которого все ресурсы будут свои и повторяющиеся...
Для этого есть glCallLists - очень удачное решение если нужны различные виды одной сцены.
10836  Qt / 2D и 3D графика / Re: OpenGL, многопоточность : Декабрь 05, 2009, 14:46
потому что получается на самом деле это два треугольника... рисуется через GL_TRIANGLE_STRIP
и чистые цвета на углах этих самых двух треугольников, вот и получается градиент с зеленого на черный по длинным сторонам этих треугольников
Спасибо, ясно. А можно ли закрасить лучше (напр. написать шейдер который будет плавно интерполировать) для 4-х угольника? Какой алгоритм?
10837  Qt / 2D и 3D графика / Re: OpenGL, многопоточность : Декабрь 05, 2009, 14:00
Это немного не в тему, но, по-моему, интересно. Вы дали в углах чистые цвета: red, green, blue, black - а почему раскрашено не симметрично, какая-то зеленая диагональ?

Я понимаю, OGL так делает, но почему?

Спасибо
10838  Qt / Пользовательский интерфейс (GUI) / Re: QTableWidget или QAbstractTableModel &QTableView : Декабрь 04, 2009, 14:41
QList не подходит, лучше QVector. Как делать resize для вектора QVector<QVector<QVariant*>>, чтобы не делать ресайз каждой строки вектора в цикле?
Если надо вставить колонку (не строку) - то ресайз в цикле делать придется, какой бы контейнер Вы ни взяли (любой из Qt, любой из STL). Непонятно чем Вам не угодил удобный QList и какую задачу Вы решаете Улыбающийся
10839  Qt / Общие вопросы / Re: Проблема с длл-ками : Декабрь 04, 2009, 14:25
Код
C++ (Qt)
char *buf = new char[strlen(str)+9]();
strcpy(buf,"Microsoft ");
...
 
"Microsoft " - это 10 символов а не 9. А про 0-терминатор забыли вообще. Так что очень может быть кучу Вы здесь покалечили. Делайте цивильно а не добавляйте 9
Код
C++ (Qt)
#define strMicr  "Microsoft "
char *buf = new char[strlen(strMicr) + strlen(str) + 1];
strcpy(buf, strMicr);
strcat(buf, str);
 

Всем спасибо, разобрался Улыбающийся Поставил в свойствах /MT и все)))
Хммм... пока все  Улыбающийся
10840  Qt / Пользовательский интерфейс (GUI) / Re: QTableWidget или QAbstractTableModel &QTableView : Декабрь 03, 2009, 22:10
Тогда список не подойдет как контейнер (как тогда узнать индекс) - лучше вектор (индекс ячейки оператор [])
QList - это тоже массив (не смущайтесь что list это "список") он имеет оператор [] так же как и QVector.
Нет просто для индексации всей таблицы нужен вектор (ячейка может быть только в последней колонке, индекс [])
Например 2 колонка 2 строка - [2][2], а если insert то индекс уже не будет такой (вектор изменяется под размер таблицы)
Размер вектора может быть 2000*2000 и содержит всего один элемент [2][2]
Возможно Вы хотите сказать что будете хранить вектор указателей из 2000*2000 элементов но только один элемент указывает на данные (остальные NULL). По поводу insert: да, когда Вы вставляете новую колонку - индексы изменятся, но ведь это нормально, так и должно быть. Если же Вы имеете ввиду что-то другое - поясните, лучше на примере.
10841  Qt / Общие вопросы / Re: Сигналы и массив : Декабрь 03, 2009, 21:18
Сергей, мне кажется Вам надо выложить компилябельный упрощенный проект - а то обсуждение идет вхолостую
10842  Qt / Пользовательский интерфейс (GUI) / Re: QTableWidget или QAbstractTableModel &QTableView : Декабрь 03, 2009, 21:11
Тогда список не подойдет как контейнер (как тогда узнать индекс) - лучше вектор (индекс ячейки оператор [])
QList - это тоже массив (не смущайтесь что list это "список") он имеет оператор [] так же как и QVector.
10843  Qt / Общие вопросы / Re: Сигналы и массив : Декабрь 03, 2009, 20:47
Если б он был решён, я бы наверно пошёл на неделю в запой. Не решён он, load() у qwebview не выполняется несмотря на то, что метод лежит в классе gui, в схеме я указал где ERROR, говорит что потоки разные.
Правильно говорит. Ведь вы его создаете не в той нитке где gui. Вам надо:

- отправить сигнал/событие от порожденной нитки к главной

- получив его, главная нитка создает злополучный qwebview, т.е. это должно делаться при приеме, уже в главной нитке а не в посылателе
10844  Qt / Пользовательский интерфейс (GUI) / Re: Как сделать сигнал для класса,происходящего от QPlainTextEdit? : Декабрь 03, 2009, 20:03
Когда консольная программа завершает работу,нужно узнать,активно ли окно терминала,и если да,то при нажатии любой клавиши закрыть терминал.Что в этом случае можно ещё использовать кроме сигналов?
Код
C++ (Qt)
 void MainWindow::createConnections()
 {
    connect(interpreter, SIGNAL(readyReadStandardError()),this,
                                                              SLOT(readErr()));
 
    connect(interpreter, SIGNAL(readyReadStandardOutput()),this,
                                                              SLOT(readOut()));
// садимся на finished
    connect(interpreter, SIGNAL(finished(int, QProcess::ExitCode)),this,
                                                              SLOT(doneInter()));
 }
 
void MainWindow::doneInter()
{
// уходим если до консоли дело не дошло
   if (terminal->isVisible()) QApplication::quit();
   else terminal->mDoneFlag = true;
}
 
void QTerminal::keyPressEvent ( QKeyEvent * event )
{
// уходим если нажат anyKey
    if (mDoneFlag) QApplication::quit();
}
 
10845  Qt / Пользовательский интерфейс (GUI) / Re: Как сделать сигнал для класса,происходящего от QPlainTextEdit? : Декабрь 03, 2009, 18:51
Вот я что-то сделал,но неуверен,правильно ли,так как недопонимаю материал. Я переопределил этот метод,и теперь его можно сделать public и использовать connect за пределами реализации класса?
Есть ли Вас необходимость (или выгода) использовать сигнал/слот? Я лично не вижу здесь таковой. Ну и перекрывайте спокойно keyPressEvent как Spectre сказал. Пользоваться сигнал/слот никто не заставляет. А если хотите изучать - посвязывайте сначала готовые сигналы с готовыми слотами (они очень удобно расставлены). Имя QTerminal лучше заменить чтобы было ясно: это не Qt класс.
Страниц: 1 ... 721 722 [723] 724 725 ... 761

Страница сгенерирована за 0.122 секунд. Запросов: 23.