Falsche Werte bei Menuheight oder WindowHeight unter QT

In dieser Linux-Ecke dürfen nur Themen rund um Linux geschrieben werden.
Beiträge, die plattformübergreifend sind, gehören ins 'Allgemein'-Forum.
matbal
Beiträge: 261
Registriert: 30.03.2011 20:53

Falsche Werte bei Menuheight oder WindowHeight unter QT

Beitrag von matbal »

Offenbar gibt es Probleme mit WindowHeight oder MenuHeight oder der Kombinantion von beiden. Wenn ich für die Berechnung der Gadget-Größen und -Positionen diese Funktionen benutze, stimmt das Ergebnis unter GTK. Aber unter QT entsteht unten immer ein ungenutzter Rand. So, als ob der Platz für das Menü mehrfach abgezogen wird.

Zum Nachvollziehen diesen Code einfach mal unter GTK und dann unter QT ausführen und die Fensterbreite verändern. Unter QT wird das Gadget kleiner.

Aufgefallen ist mir das Problem mit der DialogLib zusammen mit Hex0rs AddStuff.pbi. Plötzlich haben die Programm unten diesen unbenutzten Rand.

Code: Alles auswählen

EnableExplicit

Enumeration 
   #FormMain
   #FormMain_Editor
   #MenuMain
   #MenuMain_Quit
EndEnumeration

Procedure FormMain_Resize()
   Protected ww, wh, x, y, w, h
   ww = WindowWidth(#FormMain)
   wh = WindowHeight(#FormMain)
   
   x = 10
   y = 10
   w = ww - 20
   h = wh - 20 - MenuHeight()
   
   ResizeGadget(#FormMain_Editor, x, y, w, h)
EndProcedure


Procedure FormMain_Open()
   OpenWindow(#FormMain, 100, 100, 400, 300, "Main", #PB_Window_SizeGadget|#PB_Window_SystemMenu)
   
   If CreateMenu(#MenuMain, WindowID(#FormMain))
      MenuTitle("Datei")
      MenuItem(#MenuMain_Quit, "Beenden")
   EndIf
   
   EditorGadget(#FormMain_Editor, 0, 0, 0, 0)
   FormMain_Resize()
EndProcedure


FormMain_Open()

Repeat
   Define event = WaitWindowEvent()
   Select event
      Case #PB_Event_SizeWindow
         FormMain_Resize()
   EndSelect
Until event = #PB_Event_CloseWindow
jogo
Beiträge: 118
Registriert: 22.11.2020 20:05
Computerausstattung: 'ne Handvoll gebrauchte Laptops & PCs mit Mint Mate

Re: Falsche Werte bei Menuheight oder WindowHeight unter QT

Beitrag von jogo »

das muß an QT liegen, mir ist das auch schon mal aufgefallen, als ich temporär QT probiert habe. QT reserviert wahrscheinlich unten Platz. Den kannst du auch nicht mit Gadgets oder ähnlichen verwenden.
--
Ideen gibt es viele - man muss sie nur haben...
Mint LMDE5+6 // PureBasic 6.12
Antworten