Russian Qt Forum

Qt => Общие вопросы => Тема начата: andr484 от Май 10, 2010, 14:20



Название: Первая программа. Первое недоумение...
Отправлено: 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();
}
Кто может объяснить , что здесь не так...


Название: Re: Первая программа. Первое недоумение...
Отправлено: cya-st от Май 10, 2010, 15:02
Цитировать
3. Иконка приложения не подгружается.
Создай файл ресурса *.rc и подключи иконку IDI_ICON1 ICON DISCARDABLE "img\Project2.ico", для того чтобы подключить файл ресурса к проекту, в файле *.pro вставь строчку RC_FILE = MyProg.rc
Цитировать
4. Команда make  при компиляции не понимается: приходится писать mingw32-make. В чем секрет.
У тебя установлен MinGW, в чем проблема?


Название: Re: Первая программа. Первое недоумение...
Отправлено: lit-uriy от Май 10, 2010, 15:11
>>подчеркивание буквы появляется только после нажатия Alt
в большинстве случаев так и должно быть. Это настройка винды.

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


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



Название: Re: Первая программа. Первое недоумение...
Отправлено: alexman от Май 10, 2010, 17:41
Для этих целей есть методы void QAbstractButton::setShortcut ( const QKeySequence & key ), void QAction::setShortcut ( const QKeySequence & shortcut ).


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


Название: Re: Первая программа. Первое недоумение...
Отправлено: andr484 от Май 10, 2010, 18:55
3. вопрос - ответ найден: ошибка в тексте программы


Название: Re: Первая программа. Первое недоумение...
Отправлено: Marat(Qt) от Май 10, 2010, 19:31
А ты buddy-виджет для A&ge указал? Без него амперсанд работает как обычный символ