Seite 1 von 1

Windowgroesse fixieren

Verfasst: 31. Oktober 2006 00:27
von joebar
Hallo,

ich will die Fenstergroesse fixieren, oft gefragt in Foren, oftmals die Antwort man solle Google nutzen... Ich habe folgendes probiert:

1. Im Qt Designer max und min Fenstergroesse auf den gleichen wert gesetzt: Hilft nicht.

2. Im Qt Designer gripEnabled auf false gesetzt: Hilft nicht.

3. Wollte setSizeGripEnabled mal manuel in den Source Code reinhaengen, klingt doof, weiss aber nicht wo/wie. Ich glaube man muesste es so machen:

Code: Alles auswählen

#include <QtCore>
#include <QtGui>
#include "callintegrator.h"

int main( int argc, char* argv[]){

QApplication a(argc, argv);
CallIntegrator w;
w -> setSizeGripEnabled(false);
w.show();
QObject::connect(&a, SIGNAL(lastWindowClosed()),&a, SLOT(quit()));
return a.exec();
}
Dann bekomme ich aber einen compile Fehler

guest@linux:~/Desktop/callintegrator> make
g++ -c -pipe -fno-strict-aliasing -O2 -Wall -W -D_REENTRANT -DQT_NO_DEBUG -DQT_CORE_LIB -DQT_GUI_LIB -DQT_SHARED -I/usr/share/qt/mkspecs/default -I. -I/usr/include/QtGui -I/usr/include/QtCore -I/usr/include -I. -I. -I. -o main.o main.cpp
main.cpp: In function ?int main(int, char**)?:
main.cpp:9: error: base operand of ?->? has non-pointer type ?CallIntegrator?
make: *** [main.o] Error 1
guest@linux:~/Desktop/callintegrator>


Bin fuer jede Idee dankbar, stehe mal wieder auf dem Schlauch.

Danke,
J.

Verfasst: 31. Oktober 2006 06:31
von Christian81
w ist kein Pointer ...

Verfasst: 31. Oktober 2006 06:44
von joebar
Ah... w.setSizeGripEnable(false);

Compile geht durch, Fenster kann ich immer noch in Groesse veraendern.

Danke,
J.

Verfasst: 31. Oktober 2006 07:49
von Christian81
Nunja, was soll das QSizeGrip auch mit der minimalen/maximalen Grösse zu tun haben?
Lies mal hier: http://doc.trolltech.com/4.2/qwidget.html#size-prop

Verfasst: 31. Oktober 2006 16:18
von joebar
Da hatte ich mich wohl unverstaendlich ausgedrueckt.

min und max Size haben natuerlich nichts mit dem Size Grip zu tun. Ich habe es nur als zwei verschiedene Wege angesehen um das zu erreichen was ich will.

1. Weg
min und max Size auf gleichen Wert stellen, lt. deinem Link sollte es ein resize geben sobald man versucht aus dem Bereich zu kommen. Der Size Grip is vorhanden aber beim Versuch des verstellens ist man in den Grenzen gefangen.

2. Weg
Den Size Grip gar nicht anbieten, damit kann man auch das Fenster in der Groesse nicht verstellen, egal was min oder max Werte sind.

Leider zeigen beide Einstellungen nicht den gewuenschten Effekt, da ist wohl irgendwo ein Denkfehler....

Danke,
J.

Verfasst: 2. November 2006 07:14
von macman
Packe layout()->setSizeConstraint(QLayout::SetFixedSize); hinter dein setupUi(this).

Verfasst: 3. November 2006 02:19
von joebar
der unterschied zwischen mit und ohne der zeile ist dass ich nun direkt beim start ein segmentation fault bekomme....

Verfasst: 3. November 2006 07:13
von macman
Dann machst Du was verkehrt.


^^^
Das war jetzt genauso auskunftreich wie dein Kommentar.

Verfasst: 3. November 2006 10:39
von Der Neue
Hallo
wollte nur sagen, dass wenn ich die Zeile reinschreibe das Programm zwar kompiliert wird, dann jedoch etwas von "unhandled exception in qtgui" dasteht. An was kann das liegen?
mfg

Verfasst: 11. Januar 2008 21:13
von Daxtar
ich suche die Möglichkeit SizeConstraint der Widgets im Designer einzustellen. bisher vergeblich. ich verwende den Designer von QT 4.3.3

Verfasst: 12. Januar 2008 11:58
von CaptnChaos
setFixedSize(intx, inty);?

Verfasst: 13. Januar 2008 10:12
von Daxtar
hm... setFixedSize() sieht mir nach nem function call in der Implementierung aus. Ich hab noch die naive Illusion ich koenne das Form Design per Qt Designer machen ;)

mittlerweile ist sizePolicy (im Property Inspector) fuer mich das mittel der Wahl. Ach ja, und dann ach noch minimunSize und maxuminSize...