Russian Qt Forum
Июля 06, 2025, 01:05 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
 
  Начало Форум WIKI (Вики)FAQ Помощь Поиск Войти Регистрация  
  Просмотр сообщений
Страниц: 1 ... 294 295 [296] 297 298 ... 314
4426  Qt / Qt-инструментарий / Re: QtCreator + Boost : Августа 01, 2011, 17:50
1. для того, чтоб не "на ум приходило", надо читать документацию
2. регэксп не запускал, но должен работать
3. может ты там тоже только папку указывал без имени файла? нерабочий код в студию.
4427  Qt / XML / Re: Как читать Enter'ы? : Августа 01, 2011, 17:47
а то, что тег заканчивается на <binary> (без слеша) - так и должно быть или опечатка в посте?
4428  Qt / Qt-инструментарий / Re: QtCreator + Boost : Августа 01, 2011, 16:15
т.е. указать просто папку нельзя?
нет. неужели так сложно к папке приплюсовать слеш и имя файла? Улыбающийся
Кстати, вопрос такой. Как QRegExp::cap() узнает какую стрингу ему надо парсить, или предварительно обязал надо юзать QRegExp::indexIn()? Нет ли какой то setText или перегруженный cap с аргументом стринга?
QRegExp::cap() только возвращает захваченную подстроку (с параметром 0 - полное совпадение), а непосредственно поиск выполняется в QRegExp::indexIn() (или QRegExp::lastIndexIn() или QRegExp::exactMatch()).

и тут тоже пытаешься сэкономить на строчке? Улыбающийся
4429  Qt / Общие вопросы / Re: Глобальный хук мышки : Августа 01, 2011, 14:41
вроде в Qxt есть что-то такое
4430  Компиляторы и платформы / Windows / Re: MSVC 2008 - отладка : Августа 01, 2011, 13:38
только что случайно наткнулся Улыбающийся
1) поставить брейкпоинт на строке вызова функции, попасть в него, нажать правой кнопкой на строке - step into specific - выбрать MyFunction
4431  Qt / Qt-инструментарий / Re: QtCreator + Boost : Августа 01, 2011, 08:14
По поводу QRegExp. Мне надо было вытащить USERPROFILE из environ. Я сначало сделал QString str = QProcess::systemEnvironment().join(",") и нахожу регуляркой что мне надо, что бы не пробегать foreach (нравятся регулярки, хотя хз че быстрее будет).
Юзаю бустом такую регулярку = boost::regex xRegEx("USERPROFILE=(.+?),"); Такая же с помощью QRegExp не канала. Вроде вообще ничего не находила.
Код
C++ (Qt)
QRegExp re("USERPROFILE=(.+),");
re.setMinimal(true);
QString userprofile;
if (rx.indexIn(QProcess::systemEnvironment().join(",")) > -1)
   userprofile = rx.cap(1);
а вообще, как говорится Улыбающийся
Цитировать
Если у программиста есть проблема и он думает — «Я решу ее при помощи регулярных выражений», то с этого момента у программиста уже две проблемы.

Код:
QFileInfo f("d:\\vstup.py");
QFile::copy(f.absoluteFilePath(),QDir("d:\\test_qt").absolutePath()) ? std::cout<<"ok" : std::cout<<"bad";

Вот так использовать? Всеравно не копирует. Наверное доступа нету.
надо указывать полный путь к файлу в обоих параметрах:
Код
C++ (Qt)
QFileInfo f("d:/vstup.py");
QFile::copy(f.absoluteFilePath(), QString("d:/test_qt/%1").arg(f.fileName())) ? std::cout<<"ok" : std::cout<<"bad";
и да, в Qt можно всегда пользоваться прямыми слешами независимо от платформы. если же надо вывести путь в "родном" виде, то используй функцию QDir::toNativeSeparators(). ну и конечно папка d:/test_qt должна существовать.
4432  Qt / Вопросы новичков / Re: проблема со слотами : Июля 31, 2011, 18:47
а Slot_test() описан в разделе слотов в классе GLWidget?
4433  Qt / Дополнительные компоненты / QtCreator + tabs UI : Июля 31, 2011, 13:21
Нашёл проект по добавлению табов в QtCreator - http://gitorious.org/qt-creator-tabs . Жаль только он основан на версии 2.1.80 и последний коммит был 15-го февраля, но выглядит вполне нормально.

Для сборки правда пришлось скопировать некоторые приватные хедеры из исходников Qt и сделать небольшую правку в filefilteritems.h (оказывается нельзя объявлять свойства в классе-наследнике на основании информации из класса-родителя).

Немного поигрался - вроде ведёт себя нормально, но при закрытии проекта открытые табы не закрываются (собственно как и при закрытии проекта в безтабовой версии открытые файлы не закрываются).
4434  Qt / Работа с сетью / Re: Скачивание картинок : Июля 31, 2011, 12:16
Код
C++ (Qt)
QString data = rep->readAll();
думаю проблема тут - readAll() всё-таки возвращает QByteArray, а не QString, а дальше ноль-символа QString не читает (а 12-й байт как раз и есть ноль-символ). лучше записывай данные в файл так:
Код
C++ (Qt)
file.write(rep->readAll());
file.flush();
и после записи не забудь удалить QNetworkReply:
Код
C++ (Qt)
rep->deleteLater();
4435  Qt / Работа с сетью / Re: Скачивание картинок : Июля 31, 2011, 11:19
у меня всё корректно скачивается через QNetworkAccessManager, тестировал на этой картинке, использовал вот это решение: http://www.prog.org.ru/index.php?topic=18530.msg124691#msg124691 (только имя файлу лучше давать в виде QFileInfo(basePath).fileName() и можно выводить сообщение по окончании скачивания).
4436  Qt / Qt Script, QtWebKit / Re: Готовый простой Web browser на Qt для новичков : Июля 31, 2011, 09:29
вызвать setWindowTitle() как только получаешь title сайта
4437  Qt / Вопросы новичков / Re: QDataStream operator << записывает не сразу : Июля 30, 2011, 22:22
спасибо, теперь понял
4438  Qt / Вопросы новичков / QDataStream operator << записывает не сразу : Июля 30, 2011, 19:07
Здравствуйте. Почему оператор << у QDataStream записывает данные в свой device() не сразу же (как например cout, см. ниже), а лишь в конце команды?
Вот пример:
Код
C++ (Qt)
QByteArray saveFileContents;
QDataStream outputDataStream(&saveFileContents, QIODevice::ReadWrite);
...
quint32 fileSize = saveFileContents.size();
outputDataStream << fileSize << checksum(saveFileContents);
Раньше у меня стоял вывод этих двух значений на разных строчках, а сегодня решил сэкономить на одной и втулил оба вывода в одну. Убил часа 2 на то, чтобы понять, что так делать нельзя, поскольку вызов checksum() происходит прежде, чем QDataStream записывает fileSize, и соответственно в момент вызова checksum() новое значение ещё не успевает появиться в saveFileContents.

Попробовал сделать нечто аналогичное с cout, так тут всё происходит так, как и ожидается (хотя может и не совсем удачный пример):
Код
C++ (Qt)
int a[] = {2, 3};
std::cout << a[0]++ << " " << (a[0] + a[1]); // вывод "2 6"
4439  Qt / 2D и 3D графика / Re: Уничтожение объектов : Июля 30, 2011, 18:42
удивительно как у тебя код скомпилировался - выделение памяти совершенно неправильное. я так понимаю у тебя там "строки строк" указателей на Hexagon - Hexagon ***arr.
Код
C++ (Qt)
BattleField::BattleField(QObject *parent) : QGraphicsScene(QRectF(0,0,12*80,12*60), parent)
{
   int x=64;
   int y=64;
   arr = new Hexagon**[rows]; //Указатели на строки указателей
   for (int i=0; i<rows; ++i)
   {
       if(i%2!=0) cols--;
       arr[i] = new Hexagon*[cols]; //Создание строк указателей
       for (int j=0; j<cols; ++j)
       {
           arr[i][j] = new Hexagon; //Создание объекта по каждому указателю
           addItem(arr[i][j]);
           arr[i][j]->setPos(x,y);
           x+=2*len;
       }
       if(i%2!=0) {cols++; x=64;}
       else x=64+len;
       y+=1.5*r;
   }
}
 
BattleField::~BattleField()
{
   for (int i=0; i<rows; i++)
       delete[] arr[i];
   delete[] arr;
}
ещё для простоты можно пользоваться вектором или списком.

а сцена - да, сама поудаляет добавленные на неё объекты.
4440  Qt / Работа с сетью / Re: простейший вебсервер на qt : Июля 30, 2011, 00:48
а нету исходников простенькой программы (чем проще тем лучше,с такой штукой я еще дела не имел) реализующей веб морду посредством данного WebToolkit.
на сайте этого тулкита куча примеров если не ошибаюсь
Страниц: 1 ... 294 295 [296] 297 298 ... 314

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