как передать шрифт в этикетку?
Не могу понять почему не могу передать шрифт в этикетку (ака label ) ??
.h
#include <QFont>
...
class MainWindow : public QMainWindow
{
Q_OBJECT
public:
MainWindow(QWidget *parent = nullptr);
~MainWindow();
...
// подстраиваемый шрифт label
QFont* font;
int height_monitor {0};
int width_monitor {0};
...
}
.cpp
#include "mainwindow.h"
#include "./ui_mainwindow.h"
MainWindow::MainWindow(QWidget *parent)
: QMainWindow(parent)
, ui(new Ui::MainWindow)
{
ui->setupUi(this);
// тут настраиваю и объявляю элементы
font = new QFont();
...
}
void MainWindow::resizeEvent(QResizeEvent *e)
{
height_monitor= e->size().height();
width_monitor = e->size().width();
font->setPointSize((height_monitor*width_monitor)/4);
ui->label->setFont(font); // вот тут не работает !!!!!
}
Ответы (1 шт):
Автор решения: eugesh
→ Ссылка
Здесь несколько ошибок:
- нарушена сигнатура функции
setFont(const QFont &)- передается указатель; - значение
(height_monitor*width_monitor)/4может быть слишком большое; - в
Qtнет проверки на слишком большое значение, передаваемое вsetPointSize, что может привести к краху программы и даже системы.