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

Войти
 
  Начало   Форум  WIKI (Вики)FAQ Помощь Поиск Войти Регистрация  

Страниц: [1] 2   Вниз
  Печать  
Автор Тема: Макс Шлее примеры  (Прочитано 11782 раз)
gelonis
Гость
« : Апрель 08, 2010, 21:34 »

Помогите разобраться уже второй пример не могу заставить нормально работать. Пример с изменением курсора
Код:
#include <QtGui>

// ----------------------------------------------------------------------
int main(int argc, char** argv)
{
    QApplication app(argc, argv);
    QWidget      wgt;
    QPixmap      pix("clock.png");
  //  QPixmap pix = QPixmap::fromImage(QImage("clock.png"));
    QCursor      cur(pix);
app.addLibraryPath(app.applicationDirPath() + "/plugins/");
    wgt.setCursor(cur);
    wgt.resize(180, 100);
    wgt.show();

    return app.exec();
}

Запускаю в Qt creator, окно запускается но курсор не меняется.
QCursor: Cannot create bitmap cursor; invalid bitmap(s)

В предыдущем примере та же история.
Код:
pal2.setBrush(pwgt2->backgroundRole(), QBrush(QPixmap("stone.jpg")));
Ошибок правда не выдает, но и фон не показывает.

файлы рисунков находятся в каталогах с исполняемым файлом
« Последнее редактирование: Апрель 08, 2010, 21:46 от gelonis » Записан
KuZ
Гость
« Ответ #1 : Апрель 08, 2010, 21:56 »

Скорей все таки не там лежит сам файл или не правильно назвал. все работает нормально.
Записан
lit-uriy
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 3880


Просмотр профиля WWW
« Ответ #2 : Апрель 08, 2010, 22:13 »

gelonis, ты случаем не на линухе?
Записан

Юра.
shirushizo
Гость
« Ответ #3 : Апрель 09, 2010, 06:12 »

Если непринципиально, лучше всего создать ресурс и пользовать, тогда и битмапы таскать не придеться.
Если нет, попробуй другие файл подкладывать (для начала *.png), вдруг плагины косячят (imageformats которые)
Записан
gelonis
Гость
« Ответ #4 : Апрель 09, 2010, 08:01 »

Windows, файлы лежат там где и .exe скопировал туда и плагины \plugins\imageformats\
Код:
app.addLibraryPath(app.applicationDirPath() + "/plugins/");
В первом примере используется jpg во втором png. Верю что  примеры рабочие. помогите и мне запустить. Спасибо!
Кстати пробовал указывать заведомо неправильное имя файла,доп ошибок не показывает это так должно быть?
Создам ресурс, проверю.
Записан
gelonis
Гость
« Ответ #5 : Апрель 09, 2010, 09:10 »

С ресурсом работают оба примера!!!
Записан
lit-uriy
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 3880


Просмотр профиля WWW
« Ответ #6 : Апрель 09, 2010, 16:02 »

ты проверь, какой файл пытается загрузить приложение:
qDebug() << "File location:" << QFileInfo("clock.png").absoluteFilePath();
Записан

Юра.
gelonis
Гость
« Ответ #7 : Апрель 09, 2010, 17:17 »

File location: "D:/Programmer/C++/qt_books/exem/Examples/chapter05/MouseCursor/debug/clock.png"

Файл находится:
"D:/Programmer/C++/qt_books/exem/Examples/chapter05/MouseCursor/clock.png"
Почему так?

Положил его в /debug/ все работает. Должен искать в корне каталога или нет?
Записан
lit-uriy
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 3880


Просмотр профиля WWW
« Ответ #8 : Апрель 09, 2010, 20:10 »

>>Должен искать в корне каталога или нет?
Где написал, там и должен искать.
Если написал "stone.jpg", то будет искать в текущем каталоге приложения, а он может изменятся, например явной установкой QDir::setCurrentPath, или извне, например, создав ярлык к программе и задав в нём поле "рабочий каталог".
Записан

Юра.
lit-uriy
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 3880


Просмотр профиля WWW
« Ответ #9 : Апрель 09, 2010, 20:11 »

>>файлы рисунков находятся в каталогах с исполняемым файлом
как видишь, ты даже дезинформировал форумчан. Т.к. исполняемый файл лежит совсем не там, где лежит файл с картинкой
Записан

Юра.
gelonis
Гость
« Ответ #10 : Апрель 10, 2010, 11:22 »

Я думал исполняемый файл имеет расширение .exe.
Записан
lit-uriy
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 3880


Просмотр профиля WWW
« Ответ #11 : Апрель 10, 2010, 12:27 »

>>Я думал исполняемый файл имеет расширение .exe.
на виндовозе так и есть
Записан

Юра.
gelonis
Гость
« Ответ #12 : Апрель 10, 2010, 13:01 »

File location: "D:/Programmer/C++/qt_books/exem/Examples/chapter05/MouseCursor/debug/clock.png"

Файл находится:
"D:/Programmer/C++/qt_books/exem/Examples/chapter05/MouseCursor/clock.png"
Почему так?

Положил его в /debug/ все работает. Должен искать в корне каталога или нет?

Так у меня ехе  находится в
"D:/Programmer/C++/qt_books/exem/Examples/chapter05/MouseCursor/"
а в
"D:/Programmer/C++/qt_books/exem/Examples/chapter05/MouseCursor/debug/
объектные файлы, после записи "clock.png" в каком каталоге должен происходить поиск, те какой является корнем?
Записан
lit-uriy
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 3880


Просмотр профиля WWW
« Ответ #13 : Апрель 10, 2010, 13:48 »

В таком случае нужно выяснить, почему у тебя меняется текущий каталог приложения.

Ты приложение как запускаешь? Из командной строки, файлового менеджера или как-то ещё?
Записан

Юра.
gelonis
Гость
« Ответ #14 : Апрель 10, 2010, 14:04 »

Запускаю в Qt creator
Записан
Страниц: [1] 2   Вверх
  Печать  
 
Перейти в:  


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