[gelöst] QTableWidget -> unsichtbare Rahmen ?

Alles rund um die Programmierung mit Qt
Antworten
Exasperation
Beiträge: 186
Registriert: 11. März 2009 18:00
Wohnort: VS

[gelöst] QTableWidget -> unsichtbare Rahmen ?

Beitrag von Exasperation »

Hallo zusammen! Ich möchte in einem QDialog eine Tabelle anzeigen, die eine Shortcut-Hilfe darstellt. Also in der linken Spalte die Shortscuts, in der rechten Spalte die Funktion... So... dieses Fenster soll am Ende nur die Schrift enthalten, also keine Tabellenrahmen, keine weiße Farbe... Sondern nur diese Zuweisungen und als Hintergrundfarbe das Standard-Grau von Windows... Ist das theoretisch möglich? Man soll nicht mehr sehen dass es eine Tabelle ist, aber diese Zuweisungen sollen schön symmetrisch aussehen und mittig angeordnet werden...

Code: Alles auswählen

help_dialog::help_dialog()
{
	setWindowTitle( "Shortcuts" );
	setWindowFlags(Qt::WindowStaysOnTopHint | Qt::Tool);


	QVBoxLayout *layout;
	layout = new QVBoxLayout();

	layout->setContentsMargins(1,1,1,1);

	QTableWidget* shortcut_table = new QTableWidget(5,2,this);
	shortcut_table->verticalHeader()->hide();
	shortcut_table->horizontalHeader()->hide();
	QTableWidgetItem* test_item = new QTableWidgetItem( "blablub" );
	shortcut_table->setItem(......)
....
....
....

	layout->addWidget( shortcut_table );
	setLayout( layout );

	setStyleSheet( "background-color:/*irgendeine Farbe*/" );
}
Habt ihr Vorschläge wie ich das mit einer QTableWidget bewerkstelligen kann oder gibt es da eine elegantere Methode?
Zuletzt geändert von Exasperation am 16. März 2009 09:58, insgesamt 1-mal geändert.
androphinx
Beiträge: 170
Registriert: 26. Januar 2009 09:19
Wohnort: 127.0.0.2

Beitrag von androphinx »

das mit der hintergrundfarbe scheinst du ja schon hingekriegt zu haben... was hälst du eigentlich von der dokumentation von qt?

http://doc.trolltech.com/4.5/qtableview ... wGrid-prop

Mfg androphinx

EDIT: @moderatoren: wäre vllt. was für die tablewidget-faq....
Exasperation
Beiträge: 186
Registriert: 11. März 2009 18:00
Wohnort: VS

Beitrag von Exasperation »

Vielen Dank, nach sowas hab ich gesucht, habs aber iwie nicht gesehen :roll:

Habe es aber mittlerweile doch anders gelöst und zwar in Form eines QDialog, den ich als Qt::Tool als Toolbox kennzeichne und die Zuweisungen in Form von Labels anbringe.

Code: Alles auswählen

setWindowTitle( "Controls" );
	setWindowFlags(Qt::WindowStaysOnTopHint | Qt::Tool);

	QVBoxLayout *global_layout = new QVBoxLayout();
	global_layout->setContentsMargins(20,11,20,11);
	global_layout->setSpacing(5);
	
	QLabel *label_1 = new QLabel(this);
	label_1->setText("Menu controls");
	label_1->setAlignment(Qt::AlignHCenter);
	label_1->setContentsMargins(11,5,11,5);

	QLabel *label_2 = new QLabel(this);
	label_2->setText("3D controls");
	label_2->setAlignment(Qt::AlignHCenter);
	label_2->setContentsMargins(11,25,11,5);
	
	QHBoxLayout *hlayout_1 = new QHBoxLayout();
	hlayout_1->setSpacing(20);

	QHBoxLayout *hlayout_2 = new QHBoxLayout();
	hlayout_1->setSpacing(20);

	QLabel *label_left_1 = new QLabel(this);
	label_left_1->setText("Ctrl+O\nCtrl+C\nCtrl+E");
	label_left_1->setAlignment(Qt::AlignLeft);

	QLabel *label_right_1 = new QLabel(this);
	label_right_1->setText(".....");
	label_right_1->setAlignment(Qt::AlignRight);

	QLabel *label_left_2 = new QLabel(this);
	label_left_2->setText("W, A, S, D\nArrow Keys\nPage Up/Down");
	label_left_2->setAlignment(Qt::AlignLeft);

	QLabel *label_right_2 = new QLabel(this);
	label_right_2->setText("......");
	label_right_2->setAlignment(Qt::AlignRight);


	global_layout->addWidget(label_1);
	global_layout->addLayout(hlayout_1);
	global_layout->addWidget(label_2);
	global_layout->addLayout(hlayout_2);
	
	hlayout_1->addWidget( label_left_1 );
	hlayout_1->addWidget( label_right_1 );
	hlayout_2->addWidget( label_left_2 );
	hlayout_2->addWidget( label_right_2 );
	
	setLayout( global_layout );
Kann sein, dass ich es mir ein wenig umständlich gemacht habe, aber dafür dass ich vor einer Woche noch nicht mal von QT gehört hatte hab ich es doch ganz gut gelöst und das Ergebnis sieht auch schick aus :)
Dateianhänge
Natürlich noch in der Entwicklungsphase, also wird noch verbessert.
Natürlich noch in der Entwicklungsphase, also wird noch verbessert.
Unbenannt.JPG (11.37 KiB) 2638 mal betrachtet
Antworten