Russian Qt Forum

Qt => Пользовательский интерфейс (GUI) => Тема начата: Mr.X от Август 29, 2010, 14:23



Название: Глюки в примерах из книги
Отправлено: Mr.X от Август 29, 2010, 14:23
Здравствуйте!
Начал изучать Qt по книге Макса Шлее "Qt4". При выполнении программ-примеров из этой книги заметил глюки, которые описал в приложении. Можете ли объяснить их причину?


Название: Re: Глюки в примерах из книги
Отправлено: Авварон от Август 29, 2010, 14:50
подчеркиваний и не должно быть. Поведение зависит от ОС - на винде подчеркивания появляются при зажатом alt, на маке их вообще не будет никогда


Название: Re: Глюки в примерах из книги
Отправлено: Mr.X от Август 29, 2010, 15:53
подчеркиваний и не должно быть. Поведение зависит от ОС - на винде подчеркивания появляются при зажатом alt, на маке их вообще не будет никогда
Ну, по идее, в Винде подчеркивания символов, перед которыми стоит '&', все время должны показываться, а в этом примере их нет, пока не нажмешь Alt, а потом они все время присутствуют, как им и положено.


Название: Re: Глюки в примерах из книги
Отправлено: Авварон от Август 29, 2010, 16:26
не должны они показываться без альта (по крайней мере так написано в ассистанте)


Название: Re: Глюки в примерах из книги
Отправлено: Mr.X от Август 29, 2010, 16:35
не должны они показываться без альта (по крайней мере так написано в ассистанте)
Ну, если написано, то нам придется только согласиться, хотя непонятно, для чего так сделано.
Тогда остается только один необъясненный глюк (с непоказанной кнопкой).


Название: Re: Глюки в примерах из книги
Отправлено: Авварон от Август 29, 2010, 16:46
это сделано, ибо так ведут себя все приложения винды:)
выложите сам проект, код с виду нормальный. А глюков в лайаутах быть не может (они есть в любой программе по много штук)


Название: Re: Глюки в примерах из книги
Отправлено: Mr.X от Август 29, 2010, 17:23
это сделано, ибо так ведут себя все приложения винды:)
выложите сам проект, код с виду нормальный. А глюков в лайаутах быть не может (они есть в любой программе по много штук)
Ну, я вроде все по книжке писал. Текст программы следующий:
Код:
#include "qt_grid_layout.h"
#include <QtGui>

int main(int argc, char *argv[])
{
    QApplication a(argc, argv);
    QWidget       wgt;

    QPushButton*  pcmdA       = new QPushButton("A");
    QPushButton*  pcmdB       = new QPushButton("B");
    QPushButton*  pcmdC       = new QPushButton("C");
    QPushButton*  pcmdD       = new QPushButton("D");

    QGridLayout* pgrdLayout = new QGridLayout;
    pgrdLayout->setMargin(5);
    pgrdLayout->setSpacing(15);

    pgrdLayout->addWidget(pcmdC);       
    pgrdLayout->addWidget(pcmdD);

    pgrdLayout->setMargin(5);
    pgrdLayout->setSpacing(15);


    pgrdLayout->addWidget(pcmdA, 0, 0);       
    pgrdLayout->addWidget(pcmdB, 0, 1);
    pgrdLayout->addWidget(pcmdC, 1, 0);       
    pgrdLayout->addWidget(pcmdD, 1, 1);

    wgt.setLayout(pgrdLayout);
   
    wgt.show();

    return a.exec();
}


Название: Re: Глюки в примерах из книги
Отправлено: Авварон от Август 29, 2010, 17:33
у меня книжка в djvu, оттуда не скопировать:) ща соберу, спасибо

собрал, вы криво копипастите
уберите строки
Код:
    pgrdLayout->addWidget(pcmdC);
    pgrdLayout->addWidget(pcmdD);
Добавление 1го виджета 2 раза и должно приводить к непредсказуемым ошибкам


Название: Re: Глюки в примерах из книги
Отправлено: Mr.X от Август 29, 2010, 17:40
А, пардон, нашел ошибку. Кнопи С и D дважды в лейаут вставил. Ведь говорят же умные люди, что после того, как написал, надо еще и прочитать.


Название: Re: Глюки в примерах из книги
Отправлено: lit-uriy от Август 30, 2010, 06:29
>>в Винде подчеркивания символов, перед которыми стоит '&', все время должны показываться
это настраивается в самом виндовозе - последняя галка на снимке экрана


Название: Re: Глюки в примерах из книги
Отправлено: Mr.X от Август 30, 2010, 08:57
это настраивается в самом виндовозе - последняя галка на снимке экрана
Спасибо, не знал этого нюанса.


Название: Re: Глюки в примерах из книги
Отправлено: Denjs от Август 30, 2010, 18:03
хорошо бы изменить тему и написать метку "[решено]", а то как-то получается что наехали на QT и на Шлее в частности, а по факту - оказалось что всё штатные режимы))))

ем более ещё что книжку вы "схалявили" а не купили))))