Russian Qt Forum

Qt => Пользовательский интерфейс (GUI) => Тема начата: nkly777 от Май 02, 2007, 10:46



Название: не работают кнопки по Enter
Отправлено: nkly777 от Май 02, 2007, 10:46
Подскажите пожалуйста в чем ошибка. В приложении скомпилированном под Linux все работает как нужно. Порядок табуляции тот который нужен, по Enter нажимаются кнопки. То же самое приложение скомпилированное под Windows кнопки по Enter не нажимаются, только мышью. В чем может быть дело.
Вот код:
Код:
XClient::XClient(QWidget *parent)
:QDialog(parent)
{
blockSize =0;
QTextCodec::setCodecForTr(QTextCodec::codecForName("utf8"));
this->setWindowTitle(tr("Клиент"));
razmer = new QSize(950,600);
QString a=tr("Номер");
QString b=tr("Команды");
QString cc=tr("Результаты измерений");
QString ak=tr("Состояние трубки");
QString nn=tr("Тип номеронабирателя");
QString start=tr("Старт");
QString stop=tr("Стоп");
QString test=tr("Проверка линии");
QString custom=tr("Выборочные измерения");

this->resize(*razmer);

/**Создаем кнопки и другие объекты интерфейса**/

debugwindow = new QTextBrowser();
debugwindow->setMaximumHeight(100);

grpBoxRes = new QGroupBox;
grpBoxRes->setMinimumSize(QSize(580, 380));
grpBoxRes->setTitle(cc);

LineNumber = new QLineEdit();
LineNumber->setInputMask("999999");
LineNumber->setMinimumSize(QSize(50,25));
LineNumber->setMaximumSize(QSize(100,25));

btnStart = new QPushButton(start);
btnStart->setMaximumSize(QSize(100,25));

btnStop = new QPushButton(stop);
btnStop->setMaximumSize(QSize(100,25));

grpBoxNumber = new QGroupBox ();
grpBoxNumber->setMinimumSize(QSize(0,0));
grpBoxNumber->setMaximumHeight(70);
grpBoxNumber->setMaximumWidth(300);
grpBoxNumber->setTitle(a);

grpBoxAK = new QGroupBox();
grpBoxAK->setTitle(ak);
grpBoxAK->setMaximumHeight(70);

grpBoxNN=new QGroupBox();
grpBoxNN->setTitle(nn);
grpBoxNN->setMaximumHeight(70);

grpBoxCommand =new QGroupBox();
grpBoxCommand->setTitle(b);
grpBoxCommand->setMaximumWidth(300);

btnTest =new QPushButton(test);
btnTest->setMaximumSize(QSize(150, 25));

btnAK= new QPushButton(ak);
btnAK->setMaximumSize(QSize(150, 25));

btnCustom= new QPushButton(custom);
btnCustom->setMaximumSize(QSize(150, 25));

ReportWindow =new QTextBrowser();

/**Создаем layouts**/
mainLayout = new QGridLayout();
    mainLayout->setSpacing(6);
    mainLayout->setMargin(9);

NumberLayout = new QHBoxLayout(grpBoxNumber);

CommandBtnLayout=new QVBoxLayout(grpBoxCommand);

LeftLayout = new QVBoxLayout();

NumResComLayout = new QHBoxLayout();

ResLayout= new QGridLayout(grpBoxRes);
ResLayout->setSpacing(6);
    ResLayout->setMargin(9);
ResLayout->addWidget(ReportWindow,0,0,1,1);

RightLayout = new QVBoxLayout();

/**Добавление виджетов в Layouts**/
RightLayout->addWidget(grpBoxRes);
RightLayout->addWidget(debugwindow);

NumberLayout->addWidget(LineNumber);
NumberLayout->addWidget(btnStart);
NumberLayout->addWidget(btnStop);

CommandBtnLayout->addWidget(btnTest);
CommandBtnLayout->addWidget(btnAK);
CommandBtnLayout->addWidget(btnCustom);

LeftLayout->addWidget(grpBoxNumber);
LeftLayout->addWidget(grpBoxCommand);

mainLayout->addLayout(LeftLayout,0,0,1,1);
mainLayout->addLayout(RightLayout,0,1,1,1);
/**Настройка порядка табуляции**/
QWidget::setTabOrder(LineNumber,btnStart);
QWidget::setTabOrder(btnStart,btnTest);
QWidget::setTabOrder(btnTest,btnAK);
QWidget::setTabOrder(btnAK,btnCustom);

setLayout(mainLayout);

btnStart->setEnabled(true);
btnStop->setEnabled(false);
btnTest->setEnabled(false);
btnAK->setEnabled(false);
btnCustom->setEnabled(false);

debugwindow->setEnabled(false);
ReportWindow->setEnabled(false);
}


На линухе Qt 4.2.1 на винде Qt 4.2.0 может в этом дело??

добавлено спустя 2 часа 28 минут:

 Переустановил Qt на винде, вроде бы помогло