Pyforms - Form似乎总是最大化

时间:2016-04-05 21:44:21

标签: python

当我运行我的脚本时,弹出的主窗体最大化(即占用屏幕上的所有空间)。我尝试使用CSS文件设置表单的高度和宽度,但它不起作用。我在其他地方看不到任何相关内容。

这是我的代码:

import sys
import pyforms
from pyforms import BaseWidget
from pyforms.Controls import ControlText
from pyforms.Controls import ControlButton
from pyforms.Controls import ControlFile
class ImportIntoFile(BaseWidget):

def __init__(self):
    super(ImportIntoFile,self).__init__('HTCondor & EnergyPlus')

    self._Input     = ControlFile('Input')
    self._Output    = ControlFile('Output')
    self._Import    = ControlButton('Import')
    self._Close     = ControlButton('Close')

    self._formset = ['',('  ','_Input','  '),('  ','_Output','  '),('','_Close','','_Import',''),'']

    self._Import.value = self.__ImportAction
    self._Close.value = self.__CloseAction

def __ImportAction(self):
    OutputFile = open(self._Output.value,'a')       
    InputFile = open(self._Input.value,'r')

    OutputFile.close
    InputFile.close

def __CloseAction(self):
    sys.exit()

if __name__ == "__main__":   pyforms.startApp( ImportIntoFile )`

3 个答案:

答案 0 :(得分:6)

您可以将窗口几何图形传递给pyforms.start_app()调用。所以像下面的代码应该有效。

if __name__ == "__main__":
    pyforms.start_app( ImportIntoFile, geometry=(200, 200, 400, 400) )

答案 1 :(得分:2)

我遇到了同样的问题。 Pyforms使用Qt,so some of these modules will be familiarthis css will modify them

我用过:

QMainWindow{
    max-width:500px;
    max-height:500px;
}

成功设置主窗口的大小,但稍后不能增加大小,所以如果你想要的只是一个固定大小的窗口,它就可以工作。

答案 2 :(得分:1)

我也找不到好的解决方案。对于临时解决方法,当我想避免默认最大化时,我所做的是修改C:\ Python27 \ Lib \ site-packages \ pyforms \ gui \ standaloneManager.py。

setAttribute()

if geometry is not None:
    w.show()
    w.setGeometry(*geometry)
else:
    w.showMaximized()