我试图将一个curses中的窗口分割成几个子窗口(使用derwin()
)。在
代码创建了两个子窗口,我可以添加一个字符串;第一个函数没有问题。第二个几乎完全相同,但是当我试图添加一个带有addstr()
的字符串时,会出现一个错误
class Window(GUI):
'''
Window-object
'''
def __init__(self, y_max , x_max, y_pos , x_pos, Target, screen):
self.Win_Count = 0
self.y_pos = y_pos
self.x_pos = x_pos
self.y_max = y_max
self.x_max = x_max
self.parent = screen
self.Target = Target
#Window-Objects
self.Win = self.create_win_parent(y_pos)
self.Name_Win = self.create_name_win(self.Win)
self.IP_Win = self.create_ip_win(self.Win)
def create_win_parent(self, y_pos):
y_size = 1
x_size = self.x_max - self.x_pos
new_win_obj = self.parent.derwin(y_size, x_size, self.y_pos, 0)
self.Win_Count += 1
return new_win_obj
def create_name_win(self, Win_Obj):
x = Win_Obj.derwin(1,40, 0,0)
x.box()
x.addstr(0,5," CUSTOMER NAME ")
return x
def create_ip_win(self, Win_Obj):
x = Win_Obj.derwin(1,15, 0,41)
x.box()
x.addstr(0,5," IP-ADDRESS ")
return x
我得到了一个模糊的错误:
^{pr2}$
在这个函数中,
Win_Obj.derwin(1,15, 0,41)
表示x-pos应该在0和14之间。而在代码中addstr(0,5," IP-ADDRESS ")
x从5开始,字符串" IP-ADDRESS "
的长度大于(15-5)。所以你得到了错误。在不太清楚具体的细节,但它(正如解释器所指出的,duh)与字符串有关,它们在我创建的子窗口中没有足够的空间。在
相关问题 更多 >
编程相关推荐