QScrollBar

Alles rund um die Programmierung mit Qt
Antworten
pulse00
Beiträge: 3
Registriert: 10. Juli 2007 23:57

QScrollBar

Beitrag von pulse00 »

Hi,

ich arbeite erst seit kurzem mit QT und bin heut auf ein Problem mit der QScrollBar Klasse gestossen:


Habe ein QMainwindow, in dem sich 2 widgets in einem gridlayout befinden. in einem der 2 widgets sollen mehrere QTextEdit objekte untereinander erscheinen, wobei das Widget mit einem Vertikalen Scrollbalken ausgestatten werden sollte, um die Textfelder nach oben und unten scrollen zu können:

hier mein versuch:

Code: Alles auswählen

test::test(QWidget *parent)
    : QWidget(parent)
{
	
	
	widget1 = new QWidget;
	widget2 = new QWidget;
	grid = new QGridLayout;

	scroll = new QScrollArea(this);
	layout = new QVBoxLayout;
	layout2 = new QVBoxLayout;
		
	text1 = new QTextEdit;
	text2 = new QTextEdit;
	text3 = new QTextEdit;
	text4 = new QTextEdit();

	layout2->addWidget(text4);
		
	layout->addWidget(text1);
	layout->addWidget(text2);
	layout->addWidget(text3);
	
	widget1->setLayout(layout);
	widget2->setLayout(layout2);
    
	scroll->setBackgroundRole(QPalette::Dark); 
    scroll->setMinimumWidth(500);
	scroll->setWidget(widget1);
    scroll->setWidgetResizable(false);

    grid->addWidget(widget1,0,0);
    grid->addWidget(widget2,0,1);
    
    this->setLayout(grid);
	
	
}
Müsste das nicht eigentlich so funktionieren, oder hab ich QScrollBar falsch verstanden ?


Danke für die Hilfe!


pulse00
pulse00
Beiträge: 3
Registriert: 10. Juli 2007 23:57

Beitrag von pulse00 »

Habs rausgefunden, war ein Denkfehler:

Code: Alles auswählen

test::test(QWidget *parent)
    : QWidget(parent)
{
   
   
   widget1 = new QWidget;
   widget2 = new QWidget;
   grid = new QGridLayout;

   scroll = new QScrollArea(this);
   layout = new QVBoxLayout;
   layout2 = new QVBoxLayout;
      
   text1 = new QTextEdit;
   text2 = new QTextEdit;
   text3 = new QTextEdit;
   text4 = new QTextEdit();

   layout2->addWidget(text4);
      
   layout->addWidget(text1);
   layout->addWidget(text2);
   layout->addWidget(text3);
   
   widget1->setLayout(layout);
   widget2->setLayout(layout2);
   
   scroll->setBackgroundRole(QPalette::Dark);
    scroll->setMinimumWidth(500);
   scroll->setWidget(widget1);
    scroll->setWidgetResizable(false);

    grid->addWidget(scroll,0,0); // [color=red]=> Hier nicht das widget, sondern die ScrollArea einfügen[/color]
    grid->addWidget(widget2,0,1);
   
    this->setLayout(grid);
   
   
}
Antworten