crossplatform.ru

Здравствуйте, гость ( Вход | Регистрация )

> Дополнительный текст в QLineEdit
RazrFalcon
  опции профиля:
сообщение 26.11.2011, 1:28
Сообщение #1


Zombie Mod
*****

Группа: Участник
Сообщений: 1654
Регистрация: 24.5.2010
Из: Харьков
Пользователь №: 1752

Спасибо сказали: 64 раз(а)




Репутация:   212  


Пример:


Причем редактироваться может только путь. Количество файлов должно быть не редактируемым и не выделяемым.
Можно лейбл поверх QLineEdit сделать. Но тогда нужно сдвигать сам текст в QLineEdit. Это я тоже не знаю как сделать.
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
 
Начать новую тему
Ответов
RazrFalcon
  опции профиля:
сообщение 26.11.2011, 17:15
Сообщение #2


Zombie Mod
*****

Группа: Участник
Сообщений: 1654
Регистрация: 24.5.2010
Из: Харьков
Пользователь №: 1752

Спасибо сказали: 64 раз(а)




Репутация:   212  


Большое спасибо. То что нужно.
Вот как у меня в итоге вышло:

#include "lineedit.h"

LineEdit::LineEdit(QWidget *parent) :
    QLineEdit(parent),
    lbl(new QLabel(this))
{
    this->setObjectName("path");

    lbl->setObjectName("files");
    lbl->setSizePolicy(QSizePolicy::Fixed,QSizePolicy::Fixed);
    lbl->setStyleSheet("QLabel#files { border: none; padding: 4px; padding-left: 1px;"
                       "background-color: rgba(255, 255, 255, 0); color: #808080; }");
}

LineEdit::~LineEdit()
{
    delete lbl;
}

void LineEdit::setValue(const int &value)
{
    lbl->setText(QString("%1 files in").arg(value));
    setStyleSheet(QString("padding-left: %1px;").arg(lbl->fontMetrics().width(lbl->text())+5));
}
lineedit.h
#ifndef LINEEDIT_H
#define LINEEDIT_H

#include <QLineEdit>
#include <QLabel>

class LineEdit : public QLineEdit
{
    Q_OBJECT

public:
    explicit LineEdit(QWidget *parent = 0);
    ~LineEdit();

private:
    QLabel *lbl;

public slots:
    void setValue(const int &value);
};

#endif // LINEEDIT_H


Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение

Сообщений в этой теме


Быстрый ответОтветить в данную темуНачать новую тему
Теги
Нет тегов для показа


1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0




RSS Текстовая версия Сейчас: 26.11.2024, 11:28