2017-03-22 6 views
0

Ich habe dieses Problem seit ich begann Skripte mit Python zu schreiben.Resizeable-Fenster-Befehl Python-Maya

Auch wenn ich "Breite" und "Höhe" -Flags zum Haupt "Fenster" -Befehl hinzufüge, wird die Größe immer entsprechend der letzten Manipulation angepasst. . Weißt Du, was ich meine?

Soll es mir nicht immer die gleiche Größe geben, die ich nach Breite und Höhe eintippe?

Was ist das Problem?

Ich möchte keine nennenswerte Flagge verwenden, weil ich sie immer anpassen muss, während ich mit den Fenstern arbeite.

Was könnte möglicherweise der wahre Grund für dieses seltsame Verhalten sein?

Ich will mein Fenster öffnen, unabhängig davon, wie oft ich seine Größe anpassen, indem Sie die Ecke des Fensters ziehen ...

Wenn nötig, hier mein Python-Code ist ...

import maya.cmds as cmds 



def createGUI(): 

    #If the window already exists, it will delete it. 
    if cmds.window('myWindow',exists=True): 
     cmds.deleteUI('myWindow') 

    #Creation window command 
    winControl=cmds.window('myWindow',title='BookShelf Generator',resizeToFitChildren=True, sizeable=False) #s=False does not allow the user to change the size of the window 

    #Windows Layout 
    #Top Part 
    #Header image 
    cmds.rowColumnLayout(w=400) 
    cmds.image(image='/home/s4915717/Stefano_Feltre_Scripting/artefacts/Images/UIheader02.png') 
    cmds.setParent("..") 

    cmds.columnLayout(adjustableColumn=True,rowSpacing=0) 
    cmds.frameLayout(label='BookShelf Options',collapsable=False, mw=5, mh=5) 
    cmds.text(label='Modify the value on the interace to create different aspect of the BookShelf.', align='center', height = 20) 
    cmds.separator(height=5) 
    cmds.columnLayout() 

    #Center Part 
    ShelfSizeControl=cmds.intSliderGrp(label='Shelfs Size',minValue=5.0,maxValue=200.0, value=50.0,field=True) 
    NumShelfsColumnControl = cmds.intSliderGrp(label='Num Shelfs Column', minValue=1, maxValue=10, value=3,field=True) 
    NumShelfsRowControl = cmds.intSliderGrp(label='Num Shelfs Row', minValue=1, maxValue=10, value=3,field=True) 
    GapShelfsColumnControl = cmds.intSliderGrp(label='Gap Column Shelfs', minValue=10, maxValue=50, value=10,field=True) 
    GapShelfsRowControl = cmds.intSliderGrp(label='Gap Row Shelfs', minValue=1, maxValue=30, value=1,field=True) 
    GapBooksControl = cmds.intSliderGrp(label='Gap Books', minValue=0, maxValue=1, value=0,field=True) #da controllare il valore massimo 

    cmds.text(label='Books Direction', align='center', height = 20) 
    DirectionControl = cmds.radioCollection() 
    Direction0 = cmds.radioButton(label='Front',align='left') 
    Direction1 = cmds.radioButton(label='Back',align='center') 
    Direction2 = cmds.radioButton(label='Random',align='right') 
    cmds.radioCollection(DirectionControl, edit=True, select=Direction0) 
    cmds.columnLayout(adjustableColumn=True,rowSpacing=0) 
    cmds.separator(height=5) 

    #Bottom Part 
    #cmds.shelfButton(annotation='BookShelf Generator - Stefano Feltre', image = "commandButton.png", l='BookShelf', p='Custom', imageOverlayLabel='Spider', overlayLabelBackColor=(.6, .6, .6, .6), command=str("from SpiderGen import gui;reload(gui);gui.createUI()")) 
    #vedere come caricare un bottone nel custom 
    #Signature 
    cmds.text(label='Stefano Feltre - 2017', w=400, h=30, font="smallPlainLabelFont") 



    #This command make appear the window 
    cmds.showWindow(winControl) 



createGUI() 

Ich habe nach dem Befehl "showwindow" einen MEL-Code gefunden. Aber ich bin nicht in der Lage es in Python zu übersetzen ... Hier ist sie:

if (`window -q -ex $winName`) deleteUI $winName; 
     window -t "BookShelf Generator" $winName; 
     showWindow $winName; 
     window -e -wh 150 200 $winName; 

Antwort

2

Nachdem Sie zeigen Sie Ihre Fenster nur das gleiche Fenster Befehl verwenden und machen, was überhaupt Größe Sie wollen?

cmds.showWindow(winControl) 
cmds.window('myWindow', e=True, width=500, height=800) 
+0

Danke, es funktioniert! : D –

+0

froh, dass work'd .. bitte markieren ist als Antwort angenommen und upvote :) – Achayan

+0

Ich kann noch nicht upvote ... Ich habe 11 Ruf, ich brauche 15 ... Und ich habe keine Ahnung, wie akzeptiere die Antwort ^^ " –