当我运行我的脚本时,弹出的主窗体最大化(即占用屏幕上的所有空间)。我尝试使用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 )`
答案 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 familiar和this 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()