Russian Qt Forum
Сентябрь 30, 2024, 06:25 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
 
  Начало   Форум  WIKI (Вики)FAQ Помощь Поиск Войти Регистрация  

Страниц: [1]   Вниз
  Печать  
Автор Тема: [РЕШЕНО]установка размера QWidget  (Прочитано 3105 раз)
Larry
Гость
« : Март 19, 2016, 10:30 »

Добрый день, форумчане.
Создал класс унаследованный от QWidget и переопределил метод sizeHint(). Размер возвращается правильный, но размер по высоте ячейки не изменяется, только по ширине подстраивается. В чем может быть проблема?
Вот так задаю содержимое и размер, где m_item это QLabel:
Код:
void QStatusItem::setContent(const QString& name)
{
    QSize size_item;

    if(m_role == QIconRole)
    {
        size_item = m_item->pixmap()->size();

        m_item->setPixmap(QPixmap(name));
    }
    else
    {
        QFont        font = m_item->font();
        QFontMetrics fm(font);
        int          length = fm.width(name)*1.2;

        size_item = QSize(length, fm.height()*1.2);

        m_item->setAlignment(Qt::AlignCenter);
        m_item->setText(name);
    }

    setFixedSize(size_item);
}
Этот виджет потом устанавливается в ячейку QTableWidget через setCellWidget();
« Последнее редактирование: Март 20, 2016, 12:12 от Larry » Записан
Larry
Гость
« Ответ #1 : Март 19, 2016, 10:55 »

Попробовал добавить иконку размер 16х16. На изображении видно, что размер ячейки превышает необходимые размеры.
Записан
Larry
Гость
« Ответ #2 : Март 20, 2016, 12:12 »

Для нормального отображения надо было поменять в виджете setFixedSize() на resize().
Записан
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


Страница сгенерирована за 0.04 секунд. Запросов: 20.