Название: keyPressEvent Отправлено: darkmacho от Декабрь 02, 2008, 20:23 Как при нажатии какой-нибудь клавиши вывести картинку?Можно описать алгоритм в общих чертах?
Код: void Window::keyPressEvent(QKeyEvent* e) Название: Re: keyPressEvent Отправлено: panAlexey от Декабрь 02, 2008, 20:34 update();
Название: Re: keyPressEvent Отправлено: darkmacho от Декабрь 02, 2008, 21:05 Пример
Код: void Window::paintEvent( QPaintEvent * ) Проблема в том что почему-то нельзя объявлять массив Pixmap p[maxn]; до обйявления виджета виджета ///Здесь не проходит выше .... Window win; ........ //Ниже вполне Название: Re: keyPressEvent Отправлено: ритт от Декабрь 03, 2008, 05:30 Проблема в том что почему-то нельзя объявлять массив Pixmap p[maxn]; до обйявления виджета а что то за тип такой "Pixmap"?///Здесь не проходит выше это для меня осталось загадкой. мб это какая шифровка?.... Window win; ........ //Ниже вполне Цитировать - а почему "Ы"? - чтоб никто не догадался... Название: Re: keyPressEvent Отправлено: darkmacho от Декабрь 03, 2008, 08:49 Опять ступил ну конечно же QPixmap p[7];
1) Код: int main(int argc, char** argv) 2) QPixmap p[30]; ////Объявляю до виджета win и main(); int main(int argc, char** argv) {.... QApplication app(argc, argv); Window win; QPixmap pix("img/screen.png"); ..... } Ошибка QPixmap:Must construct a QApplication before a QPaintDevice выходит после компиляции в отдельном окне Название: Re: keyPressEvent Отправлено: BRE от Декабрь 03, 2008, 09:08 Опять ступил ну конечно же QPixmap p[7]; Qt тебе и говорит, что объекты QPixmap должны создаваться после того, как создаться обхект QApplication.1) Код: int main(int argc, char** argv) 2) Код: QPixmap p[30]; ////Объявляю до виджета win и main(); выходит после компиляции в отдельном окне Почему бы тебе этот QPixmap p[7] не объявить в классе Window? А лучше сразу QList<QPixmap> p. Название: Re: keyPressEvent Отправлено: darkmacho от Декабрь 03, 2008, 09:52 Так выходит ошибка "отправлять не отправлять"
Название: Re: keyPressEvent Отправлено: BRE от Декабрь 03, 2008, 09:58 Так выходит ошибка "отправлять не отправлять" Какая ошибка? Нельзя создавать QPixmap до создания QApplication. За информацией в QAssistant.Если все таки хочешь объявить массив QPixmap глобально, то объяви его как массив указателей: QPixmap *p[7]; или QList<QPixmap*> p; А заполняй его нужными значениями уже после создания экземпляра QApplication. Название: Re: keyPressEvent Отправлено: darkmacho от Декабрь 03, 2008, 10:22 Ну вот же
Код: #include <qapplication.h> Как нажимаю ctrl+f5 выходит ошибка: Do you want to debug using the selected debugger? Название: Re: keyPressEvent Отправлено: BRE от Декабрь 03, 2008, 12:01 Код
И еще по коду... Индексация массивов в C/C++ начинается с 0. IMHO Все это нужно скрыть в классе Window. Название: Re: keyPressEvent Отправлено: darkmacho от Декабрь 03, 2008, 12:15 все спасибо помогло
|