Seite 1 von 1

Fenster "transparent"

Verfasst: 20. September 2008 13:28
von DarsVaeda
hi,

ich rufe in einem MainWindow ein Fenster auf dass ein Popup sein soll.
Jetzt enthält es zwar die gewünschten Objekte, aber es ist "durchsichtig", hat keinen Rahmen.

Woran könnte das liegen?

Der Aufruf:

Code: Alles auswählen

void MainWindow::line()
{
	meinZeichenFeld->setDrawKind(eLine);
	optionsWindow = new OptionsWindow(this);
	optionsWindow->show();
}
Das Fenster-Layout:

Code: Alles auswählen

#include <QtGui>

#include "optionswindow.h"

OptionsWindow::OptionsWindow(QWidget *parent): QWidget(parent)
{
	ColorCombo = createColorComboBox();
	ColorCombo->setCurrentIndex(ColorCombo->findText(tr("Schwarz")));
	connect(ColorCombo, SIGNAL(changed()), this, SLOT(colorChanged()));

	closeButton = new QPushButton(tr("&Close"));
	connect(closeButton, SIGNAL(clicked()), this, SLOT(close()));

	QVBoxLayout *layout = new QVBoxLayout;
	layout->setMargin(5);
	layout->addWidget(ColorCombo, 0, 0);
	layout->addWidget(closeButton);
	this->setLayout(layout);

	this->setMinimumSize(150, 150);
	
	QPoint pos = this->pos();
	pos.setX(QCursor::pos().x()/2);
	pos.setY(QCursor::pos().y()/2);
	this->move(pos);
}
[...]

Verfasst: 22. September 2008 07:18
von macman
Wie wär es denn mit ein paar Windowflags?
http://doc.trolltech.com/4.4/qt.html#WindowType-enum
Die Examples enthalten auch jede Menge Beispiele für so was.

Verfasst: 28. September 2008 17:43
von DarsVaeda
Danke das hat super funktionier!

Ich habe leider noch ein Problem...allerdings diesmal Verständnisprobleme:

Und zwar befindet sich in meinem MainWindows ein meinZeichenFeld für das ich über das optionsWindow (popup) Eigenschaften ändern möchte.
Ich verstehe leider nur nicht wie ich vom optionsWindow aus die Eigenschaften von meinZeichenFeld ändern soll?
meinZeichenFeld hat zwar eine öffentliche Methode "set" genau hierfür, allerdings habe ich darauf in optionsWindow keinen Zugriff.
Include ich im optionsWindow Header den meinZeichenFeld Header, so dass ich Zugriff hab, dann erhalte ich eine Fehlermeldung wegen Typneudefinition...

Wo hänge ich da?

Verfasst: 29. September 2008 07:51
von Ginsengelf
Moin, hast du in deiner Headerdatei für meinZeichenFeld include-Guards?
Also am Anfang

Code: Alles auswählen

#ifndef MEINZEICHENFELD_H
#define MEINZEICHENFELD_H

// Inhalt der Headerdatei

#endif
Das verhindert, dass die Typdefinition mehrfach stattfindet.

Ginsengelf