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

Войти
 
  Начало Форум WIKI (Вики)FAQ Помощь Поиск Войти Регистрация  
  Просмотр сообщений
Страниц: 1 ... 293 294 [295] 296 297 ... 313
4411  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 должна существовать.
4412  Qt / Вопросы новичков / Re: проблема со слотами : Июль 31, 2011, 18:47
а Slot_test() описан в разделе слотов в классе GLWidget?
4413  Qt / Дополнительные компоненты / QtCreator + tabs UI : Июль 31, 2011, 13:21
Нашёл проект по добавлению табов в QtCreator - http://gitorious.org/qt-creator-tabs . Жаль только он основан на версии 2.1.80 и последний коммит был 15-го февраля, но выглядит вполне нормально.

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

Немного поигрался - вроде ведёт себя нормально, но при закрытии проекта открытые табы не закрываются (собственно как и при закрытии проекта в безтабовой версии открытые файлы не закрываются).
4414  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();
4415  Qt / Работа с сетью / Re: Скачивание картинок : Июль 31, 2011, 11:19
у меня всё корректно скачивается через QNetworkAccessManager, тестировал на этой картинке, использовал вот это решение: http://www.prog.org.ru/index.php?topic=18530.msg124691#msg124691 (только имя файлу лучше давать в виде QFileInfo(basePath).fileName() и можно выводить сообщение по окончании скачивания).
4416  Qt / Qt Script, QtWebKit / Re: Готовый простой Web browser на Qt для новичков : Июль 31, 2011, 09:29
вызвать setWindowTitle() как только получаешь title сайта
4417  Qt / Вопросы новичков / Re: QDataStream operator << записывает не сразу : Июль 30, 2011, 22:22
спасибо, теперь понял
4418  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"
4419  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;
}
ещё для простоты можно пользоваться вектором или списком.

а сцена - да, сама поудаляет добавленные на неё объекты.
4420  Qt / Работа с сетью / Re: простейший вебсервер на qt : Июль 30, 2011, 00:48
а нету исходников простенькой программы (чем проще тем лучше,с такой штукой я еще дела не имел) реализующей веб морду посредством данного WebToolkit.
на сайте этого тулкита куча примеров если не ошибаюсь
4421  Qt / Qt-инструментарий / Re: QtCreator и MacOS X : Июль 29, 2011, 19:15
настройки - справка - документация - добавить нужные файлы из QTDIR/doc/qch (или если ставил через QtSDK, то в QTDIR/documentation)
4422  Qt / Работа с сетью / Re: простейший вебсервер на qt : Июль 29, 2011, 02:10
http://www.prog.org.ru/topic_18718_0.html наверное это все-таки будет попроще чем на Qt
4423  Qt / Дополнительные компоненты / Re: Полезные ссылки : Июль 28, 2011, 11:14
в первом посте ж уже есть
4424  Qt / Пользовательский интерфейс (GUI) / Re: Separator'у не присваивается имя : Июль 28, 2011, 09:08
Но лучше сделать выпадающее меню на этот пункт со всеми последними файлами.
сначала думал так сделать, но потом передумал и решил добавлять все недавние файлы прямо в основное меню. а сепаратор я просто создаю в конструкторе и сохраняю указатель на него.
4425  Qt / Общие вопросы / Re: Проблема с чтением из файла : Июль 27, 2011, 17:04
надо все русские буквы заменить percent-encoded utf-8 эквивалентом. например, слово "русский" будет выглядеть как "%D1%80%D1%83%D1%81%D1%81%D0%BA%D0%B8%D0%B9" (без кавычек).

а как страницу скачать только недавно несколько раз обсуждалось, посмотри в поиске.
Страниц: 1 ... 293 294 [295] 296 297 ... 313

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