
#-*-coding: UTF-8-*-
import wx
class SketchApp(wx.App):
def OnInit(self):
bmp = wx.Image("splash.png").ConvertToBitmap()
wx.SplashScreen(bmp, wx.SPLASH_CENTRE_ON_SCREEN | wx.SPLASH_TIMEOUT,1000, None, -1)
wx.Yield()
frame = SketchFrame(None)
frame.Show(True)
self.SetTopWindow(frame)
return True
class SketchFrame(wx.Frame):
def __init__(self, parent):
wx.Frame.__init__(self, parent, -1, "Sketch Frame", size=(800,600))
if __name__ == '__main__':
app = SketchApp()
app.MainLoop()
两点:
1、你的代码中有用到SketchFrame,但是这不是wx里自带的类,可能是你引用别人的代码没有引用全吧,我帮你在下面简单的加了一个SketchFrame类,就不会报错了,但这只是d出了一个没有内容的窗口。具体要根据你自己的需要自己定制。
2、确保你程序的目录下有名为“splash.png”的图片。
这样在python2.x上可以成功运行。
python打出代码后图形在上方,可以确认使用的GUI库、添加窗口布局代码和调整窗口属性。1、确认使用的GUI库:Python支持多种GUI库,如Tkinter、PyQt、wxPython等,不同的库可能有不同的显示方式。因此,首先需要确认使用的GUI库,然后查找相应的文档或教程。
2、添加窗口布局代码:在使用Tkinter开发GUI程序时,可以使用布局管理器来控制窗口中各个组件的位置和大小。例如,可以使用pack()、grid()、place()等方法来设置组件的布局。如果没有正确设置布局,可能会导致图形界面显示在代码窗口上方。因此,可以尝试添加适当的布局代码来调整图形界面的位置和大小。
3、调整窗口属性:在使用PyQt或wxPython开发GUI程序时,可以通过设置窗口属性来调整图形界面的位置和大小。例如,可以使用setGeometry()方法来设置窗口的位置和大小,使用setWindowTitle()方法来设置窗口标题。如果没有正确设置窗口属性,可能会导致图形界面显示在代码窗口上方。因此,可以尝试调整窗口属性来解决问题。
在《wxpython in action》里找了个例子:import wx
class ScrollbarFrame(wx.Frame):
def __init__(self):
wx.Frame.__init__(self, None, -1, 'Scrollbar Example',
size=(400, 300))
self.scroll = wx.ScrolledWindow(self, -1)
self.scroll.SetScrollbars(1, 1, 600, 400)
img1 = wx.Image(1.gif, wx.BITMAP_TYPE_ANY)
self. *** 1 = wx.StaticBitmap(self.scroll,2, wx.BitmapFromImage(img1),pos=(40, 100))
self.button = wx.Button(self.scroll, -1, Scroll Me, pos=(50, 20))
self.Bind(wx.EVT_BUTTON, self.OnClickTop, self.button)
self.button2 = wx.Button(self.scroll, -1, Scroll Back, pos=(500, 350))
self.Bind(wx.EVT_BUTTON, self.OnClickBottom, self.button2)
def OnClickTop(self, event):
self.scroll.Scroll(600, 400)
def OnClickBottom(self, event):
self.scroll.Scroll(1, 1)
if __name__ == '__main__':
app = wx.PySimpleApp()
frame = ScrollbarFrame()
frame.Show()
app.MainLoop()
这是为整个Frame添加滚动条的例子, 给pannel加的话貌似没效果.
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)