2014-03-07 5 views
0

Я пытаюсь сделать гиперссылку в своем приложении. У меня есть два ярлыка, одна из них - гиперссылка.Сохраните текст в QHBoxLayout

labelPropulsedBy = new QLabel(); 
    labelPropulsedBy->setText(tr("Propulsé par ")); 
    labelPropulsedBy->setLayout(hboxLayout); 

labelWebLink = new QLabel(); 
    labelTripleGear->setText("<a href=\"https://www.google.ca/\">Click Here!</a>"); 
    labelTripleGear->setTextFormat(Qt::RichText); 
    labelTripleGear->setTextInteractionFlags(Qt::TextBrowserInteraction); 
    labelTripleGear->setOpenExternalLinks(true); 
    labelTripleGear->setLayout(hboxLayout); 

Проблема заключается в том, когда я буду изменением размера моего окна, те две этикеток отделиться, как если бы было много расстояния между ними. Как вы держите их вместе?

Если есть лучший способ сделать это, пожалуйста, предложите, я пытаюсь улучшить свои привычки кодирования.

ответ

1

Создайте новую горизонтальную проставку и добавьте ее за ярлык гиперссылки (или перед текстовой меткой), это решит вашу проблему. Код может выглядеть так:

QSpacerItem *horizontalSpacer; 
horizontalSpacer = new QSpacerItem(40, 20, QSizePolicy::Expanding, QSizePolicy::Minimum); 
hboxlayout->addItem(horizontalSpacer); 

Кроме того, я рекомендую использовать конструктор для ускорения разработки вашего приложения!

+0

Это сработало. Благодарю. Я не использую конструктор, потому что я новичок в программировании и непосредственно работаю над кодом, помогая мне изучать новые вещи. Можете ли вы объяснить, почему он сделал то, что сделал? Я могу понять, потому что, когда я расширяю свое окно, расширяется только QSpacerItem, а не полный макет, не так ли? – Chax

+1

Сервер класса QSpacerItem как контейнер для избыточного пространства в макете, поэтому в вашем случае, когда hboxLayout расширяется, проставка будет расширяться (то же самое для вертикальных прокладок). Для макета содержит несколько спейсеров в одном и том же направлении, у Qt есть собственный механизм для решения, как расширить оба из них. Вы можете добавить несколько расположений в свое приложение, чтобы посмотреть, как они работают. Для получения дополнительной информации проверьте это: [http://qt-project.org/doc/qt-4.8/qspacerit.html#details](http://qt-project.org/doc/qt-4.8/qspaceritem. HTML # подробности) – Tay2510

Смежные вопросы