QLabel in QCheckBox

Alles rund um die Programmierung mit Qt
Antworten
Senifor
Beiträge: 4
Registriert: 9. September 2012 14:10

QLabel in QCheckBox

Beitrag von Senifor »

Hallo zusammen,

ich würde gerne den Text in meiner Checkbox am Fensterrand umbrechen. Leider bietet QCheckbox kein setWordWrap wie QLabel. Jetzt dachte ich, ich leite mir eine Klasse von QCheckBox ab und füge ein QLabel ein:

Code: Alles auswählen

MyCheckBox::MyCheckBox(QWidget *parent) :
    QCheckBox(parent)
{
    [...]

    QString text (ans->get_content().c_str());


    QLayout *layout = this->layout();
   [...]

//m_label ist vom Typ QLabel
    m_label.setWordWrap(true);
   m_label.setText(text);

    layout->addWidget(&m_label);
}
Leider funktioniert das nicht besonders gut. Der Text wird nicht richtig dargestellt (siehe Anhang). Weiß jemand, was ich falsch mache, oder wie ich eine Checkbox mit WordWrap erstelle ?
Ich bin noch Anfänger.

Vielen Dank.

Senifor
Dateianhänge
Dialog mit Checkboxes
Dialog mit Checkboxes
Bildschirmfoto.png (34.54 KiB) 2921 mal betrachtet
russkij
Beiträge: 57
Registriert: 14. Dezember 2005 11:57

Re: QLabel in QCheckBox

Beitrag von russkij »

Hi,

du kannst alternativ eigene Checkbox mit Label basteln, so in etwa:

Code: Alles auswählen

class MyCheckBox : public QWidget
{
public:
   MyCheckBox(QWidget *parent) : QWidget(parent)
   {
      QHBoxLayout * layout = new QHBoxLayout(this);
      QCheckBox *chk = new QCheckBox(this);
      QLabel *lbl = new QLabel("blaaaa haha haha dadfds sdlfjlk sldakfjlksdajlk lsjdflkj sdlkjflks dflkjj sldkfjlksd flksdf lkjsdf lsdjlsdfal", this);
      lbl->setWordWrap(true);
      layout->addWidget(chk);
      layout->addWidget(lbl);
      layout->addStretch();
   }
};
gruß
Senifor
Beiträge: 4
Registriert: 9. September 2012 14:10

Re: QLabel in QCheckBox

Beitrag von Senifor »

Hallo russkij,

vielen Dank für den Hinweis. Ich war so auf diese CheckBox fixiert, dass mir das nicht eingefallen ist.
Danke ....

Gruß, Senifor
Antworten