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

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

Страниц: [1]   Вниз
  Печать  
Автор Тема: Первая программа. Первое недоумение...  (Прочитано 3906 раз)
andr484
Гость
« : Май 10, 2010, 14:20 »

Написал короткую программу:
(Qt SDK by Nokia v2010.02.1 (open source)) , WinXPSP3
выводит две надписи и две области ввода.

Компиляция через командныю строку (вообщем то и в среде результат тот же).

НО! Возникают баги:
1. QLabel* plblName= new QLabel("&Name:"); - подчеркивание буквы появляется только после нажатия Alt
2. QLabel* plblAge= new QLabel("A&ge:"); - подчеркивания вообще НЕТ. Отображается - A&ge:.
Т.е. & - как обычный символ.
3. Иконка приложения не подгружается.
4. Команда make  при компиляции не понимается: приходится писать mingw32-make. В чем секрет.

#include <QtGui>

int main(int argc, char** argv)
{
    QApplication app(argc, argv);
   QWidget wgt;
    QLabel* plblName= new QLabel("&Name:");
   QLineEdit* ptxtName  = new QLineEdit;
   plblName->setBuddy(ptxtName);
   
   QLabel* plblAge= new QLabel("A&ge:");   
   plblName->setBuddy(plblAge);
   
   QSpinBox* pspbAge  = new QSpinBox;
   plblName->setBuddy(pspbAge);
   
   QVBoxLayout* pvbxLayout = new QVBoxLayout;
   
   pvbxLayout->addWidget(plblName);
   pvbxLayout->addWidget(ptxtName);
   pvbxLayout->addWidget(plblAge);
   pvbxLayout->addWidget(pspbAge);

   wgt.setLayout(pvbxLayout);

   wgt.show();
    return app.exec();
}
Кто может объяснить , что здесь не так...
Записан
cya-st
Гость
« Ответ #1 : Май 10, 2010, 15:02 »

Цитировать
3. Иконка приложения не подгружается.
Создай файл ресурса *.rc и подключи иконку IDI_ICON1 ICON DISCARDABLE "img\Project2.ico", для того чтобы подключить файл ресурса к проекту, в файле *.pro вставь строчку RC_FILE = MyProg.rc
Цитировать
4. Команда make  при компиляции не понимается: приходится писать mingw32-make. В чем секрет.
У тебя установлен MinGW, в чем проблема?
Записан
lit-uriy
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 3880


Просмотр профиля WWW
« Ответ #2 : Май 10, 2010, 15:11 »

>>подчеркивание буквы появляется только после нажатия Alt
в большинстве случаев так и должно быть. Это настройка винды.

>>В чем секрет
секрета нет. Это название программы make у проекта MinGW32. Можешь положить рядом с этой программой bat-файл обозвав его make.bat. А содержимое простое:
mingw32-make %*
Записан

Юра.
andr484
Гость
« Ответ #3 : Май 10, 2010, 16:55 »

Спасибо за ответы:
остается не ясным только один вопрос:
2. QLabel* plblAge= new QLabel("A&ge:"); - подчеркивания вообще НЕТ. Отображается - A&ge:.
Т.е. & - как обычный символ.

Записан
alexman
Гость
« Ответ #4 : Май 10, 2010, 17:41 »

Для этих целей есть методы void QAbstractButton::setShortcut ( const QKeySequence & key ), void QAction::setShortcut ( const QKeySequence & shortcut ).
Записан
lit-uriy
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 3880


Просмотр профиля WWW
« Ответ #5 : Май 10, 2010, 18:35 »

>>2. QLabel* plblAge= new QLabel("A&ge:");
никогда с таким не сталкивался, может символ какой-то левый попался, не печатаемый. Попробуй просто эту строку набрать заново, ни откуда не копируя
Записан

Юра.
andr484
Гость
« Ответ #6 : Май 10, 2010, 18:55 »

3. вопрос - ответ найден: ошибка в тексте программы
« Последнее редактирование: Май 10, 2010, 19:37 от andr484 » Записан
Marat(Qt)
Гость
« Ответ #7 : Май 10, 2010, 19:31 »

А ты buddy-виджет для A&ge указал? Без него амперсанд работает как обычный символ
Записан
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


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