Fenster "transparent"

Alles rund um die Programmierung mit Qt
Antworten
DarsVaeda
Beiträge: 2
Registriert: 26. Juli 2008 22:18

Fenster "transparent"

Beitrag 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);
}
[...]
macman
Beiträge: 1738
Registriert: 15. Juni 2005 13:33
Wohnort: Gütersloh
Kontaktdaten:

Beitrag 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.
Die deutsche Schriftsprache ist case-sensitive. Außerdem gibt es eine Interpunktionsnorm. Wenn manch einer seine Programme genauso schlampig schreibt, wie sein Posting hier, dann sollte er es lieber bleiben lassen.
DarsVaeda
Beiträge: 2
Registriert: 26. Juli 2008 22:18

Beitrag 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?
Ginsengelf
Beiträge: 79
Registriert: 2. Mai 2007 10:21

Beitrag 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
Antworten