Форум программистов, компьютерный форум, киберфорум
Наши страницы
C++ Qt
Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 15, средняя оценка - 4.87
Sanya_sa
Модератор
686 / 676 / 293
Регистрация: 03.02.2015
Сообщений: 4,241
Записей в блоге: 8
Завершенные тесты: 3
#1

Изменить размер шрифта QLabel - C++ Qt

07.05.2015, 11:38. Просмотров 4158. Ответов 16
Метки нет (Все метки)

C++
1
2
3
4
5
6
7
8
9
10
// метка время от
QLabel* timeFromTxtLabel;
timeFromTxtLabel = new QLabel();
 
        //-------------timeFromTxtLabel------------ 
        timeFromTxtLabel->setText("время от");
        timeFromTxtLabel->setFixedHeight(10);
        timeFromTxtLabel->setAlignment(Qt::AlignTop | Qt::AlignCenter);
        timeFromTxtLabel->setContentsMargins(1, 1, 1, 1);
        //-----------------------------------------
Как мне поменять размер шрифта? Я так понимаю можно timeFromTxtLabel->setFont(MyFont);?
Возможно ли просто "достучатся" до свойства размера шрифта моего timeFromTxtLabel?
Спасибо.
http://www.cyberforum.ru/qt/thread1486636.html
0
Лучшие ответы (1)
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
07.05.2015, 11:38
Я подобрал для вас темы с готовыми решениями и ответами на вопрос Изменить размер шрифта QLabel (C++ Qt):

Размер QLabel'a в QScrollArea
Создаю QScrollArea и кидаю в него QLabel. QScrollArea занимает почти все окно,...

Как вставить картинку из файла .jpg в размер QLabel?
Требуется из файла .jpg вставить картинку в окно QLabel фиксированного...

Изменить цвет текста QLabel
Доброй ночи! :) а как поменять цвет текста метки QLabel??

При клике на qbutton изменить текст qlabel
Доброго времени суток! Вопрос такой. Имеется кнопка pushButton1. Также имеется...

Размер шрифта в QTextEdit
В Qt Creator добавил виджет QTextEdit и задал размер шрифта 14. Но если после...

16
yarko
64 / 64 / 18
Регистрация: 31.03.2015
Сообщений: 253
07.05.2015, 11:51 #2
Что мешает сделать копию текущего font() кнопки, изменить одно нужное свойство и задать кнопке новое значения?
Напрямую достучатся не получится, поскольку кнопка не возвращает ссылку на свой font.
1
Sanya_sa
Модератор
686 / 676 / 293
Регистрация: 03.02.2015
Сообщений: 4,241
Записей в блоге: 8
Завершенные тесты: 3
07.05.2015, 11:57  [ТС] #3
Цитата Сообщение от yarko Посмотреть сообщение
что мешает сделать копию текущего font() кнопки, изменить одно нужное свойство и задать кнопке новое значения?
Я видел пример такого решения. А это ваще норммольно в QT? (просто я нп шарпе до этого писал). Нельзя просто изменить свойство timeFromTxtLabel? Только я его не нашел(. Так же я понимаю что QLabel наследуется - возможно это свойство в одном из родителей.
Пробовал timeFromTxtLabel->font().setPixelSize(7); Но что то я не допонимаю(
0
yarko
64 / 64 / 18
Регистрация: 31.03.2015
Сообщений: 253
07.05.2015, 12:40 #4
font() возвращает не референс на состояния шрифта кнопки, а только копию этого состояния. Поэтому изменения результата функции font() не имеет последствий, так как изменяется только ваша локальная копия.

Используйте setFont
1
alexey_rage
589 / 389 / 79
Регистрация: 23.10.2013
Сообщений: 1,143
07.05.2015, 12:47 #5
C++ (Qt)
1
timeFromTxtLabel->font().setPixelSize(7);
Такой вызов не изменяет шрифт лэйбла, а изменяет шрифт копии QFont полученной из timeFromTxtLabel
Чтобы изменялся шрифт лэйбла, нужно сделать так:
C++ (Qt)
1
2
3
QFont font = timeFromTxtLabel->font();
font.setPixelSize(7);
timeFromTxtLabel->setFont(font);
1
Sanya_sa
Модератор
686 / 676 / 293
Регистрация: 03.02.2015
Сообщений: 4,241
Записей в блоге: 8
Завершенные тесты: 3
07.05.2015, 12:52  [ТС] #6
Цитата Сообщение от alexey_rage Посмотреть сообщение
Такой вызов не изменяет шрифт лэйбла, а изменяет шрифт копии QFont полученной из timeFromTxtLabel
Чтобы изменялся шрифт лэйбла, нужно сделать так:
Ну это тоже что и yarko, предлогал.
Ладно все равно всем спасибо.
0
Кудаив
409 / 408 / 72
Регистрация: 27.05.2012
Сообщений: 1,168
Завершенные тесты: 2
08.05.2015, 10:23 #7
можно через styleSheet задать...
0
Sanya_sa
Модератор
686 / 676 / 293
Регистрация: 03.02.2015
Сообщений: 4,241
Записей в блоге: 8
Завершенные тесты: 3
08.05.2015, 10:30  [ТС] #8
Цитата Сообщение от Кудаив Посмотреть сообщение
можно через styleSheet задать
Пример можно? Или сылку на пример.
0
Кудаив
409 / 408 / 72
Регистрация: 27.05.2012
Сообщений: 1,168
Завершенные тесты: 2
08.05.2015, 10:38 #9
C++ (Qt)
1
2
int newFontSize = 10;
timeFromTxtLabel->setStyleSheet(QString("font-size: %1").arg(newFontSize));
0
Sanya_sa
Модератор
686 / 676 / 293
Регистрация: 03.02.2015
Сообщений: 4,241
Записей в блоге: 8
Завершенные тесты: 3
08.05.2015, 10:42  [ТС] #10
Кудаив,
Неа не меняет размер шрифта(. Может я конечно что не понимаю).
0
Кудаив
409 / 408 / 72
Регистрация: 27.05.2012
Сообщений: 1,168
Завершенные тесты: 2
08.05.2015, 10:54 #11
Sanya_sa, описался там надо вот так
C++ (Qt)
1
2
int newFontSize = 10;
timeFromTxtLabel->setStyleSheet(QString("font-size: %1px").arg(newFontSize));
0
Sanya_sa
Модератор
686 / 676 / 293
Регистрация: 03.02.2015
Сообщений: 4,241
Записей в блоге: 8
Завершенные тесты: 3
08.05.2015, 10:57  [ТС] #12
Цитата Сообщение от Кудаив Посмотреть сообщение
Sanya_sa, описался там надо вот так
Всё равно не меняет.
0
Кудаив
409 / 408 / 72
Регистрация: 27.05.2012
Сообщений: 1,168
Завершенные тесты: 2
08.05.2015, 10:58 #13
Лучший ответ Сообщение было отмечено Sanya_sa как решение

Решение

вот тебе простой пример, от него и танцуй

C++ (Qt)
1
2
3
4
5
6
7
8
9
10
11
12
13
#include <QApplication>
#include <QLabel>
 
int main(int argc, char *argv[])
{
    QApplication a(argc, argv);
 
    QLabel lbl("Bla bla");
    lbl.setStyleSheet(QString("font-size: %1px").arg(32));
    lbl.show();
 
    return a.exec();
}
1
Sanya_sa
Модератор
686 / 676 / 293
Регистрация: 03.02.2015
Сообщений: 4,241
Записей в блоге: 8
Завершенные тесты: 3
08.05.2015, 11:01  [ТС] #14
%1px до редактирования у Вас через пробел написан был)
Если опишите словесно что происходит в lbl.setStyleSheet(QString("font-size: %1px").arg(32)); Буду ОЧЕНЬ благодарен.
0
Кудаив
409 / 408 / 72
Регистрация: 27.05.2012
Сообщений: 1,168
Завершенные тесты: 2
08.05.2015, 11:05 #15
Qt поддерживает систему стилизации сродни css, называемая qss - правда она слегка обкоцанная. Поддерживаются свойства типа font-size и иже с ним (все описаны в офф доке).
1
Sanya_sa
Модератор
686 / 676 / 293
Регистрация: 03.02.2015
Сообщений: 4,241
Записей в блоге: 8
Завершенные тесты: 3
08.05.2015, 11:21  [ТС] #16
Кудаив,
Цитата Сообщение от Кудаив Посмотреть сообщение
Qt поддерживает систему стилизации сродни css, называемая qss - правда она слегка обкоцанная. Поддерживаются свойства типа font-size и иже с ним (все описаны в офф доке).
Ну пожалуйста ткните носом меня. Только пару недель с QT вожусь. В смысле ссылку на раздел док.
0
Кудаив
409 / 408 / 72
Регистрация: 27.05.2012
Сообщений: 1,168
Завершенные тесты: 2
08.05.2015, 11:41 #17
http://doc.qt.io/qt-4.8/stylesheet-syntax.html
2
08.05.2015, 11:41
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
08.05.2015, 11:41
Привет! Вот еще темы с решениями:

Размер шрифта на кнопке
Как поставить изначально и потом поменять размер шрифта именно на кнопке? Даже...

Относительный размер шрифта на QPushButton
Я пиши игру Угадай &quot;ЧтоУгодноПоКартинке&quot;. У меня есть картинка и шесть кнопок....

Настройка Qt Creator (размер шрифта)
Слишком маленькие шрифты в боковой панели. Как изменить размер?

Изменение шрифта под размер
Здравствуйте. Мне очень нужно пропорционально поменять высоту шрифта текста...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
17
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru