免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 3753 | 回复: 3
打印 上一主题 下一主题

请问如何用glade制作登录界面 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2011-04-10 13:26 |只看该作者 |倒序浏览
本帖最后由 wade_wang 于 2011-04-10 13:55 编辑

我用pygtk和glade做一个类似于qq的登录界面,登录后原创口没了出来一个新窗口,我现在登录界面画好了,接下来用glade怎么办呢?
  1. class Loginpanel():
  2.     def __init__(self):
  3.         builder=gtk.Builder()
  4.         builder.add_from_file('a.glade')
  5.         builder.connect_signals(self)
  6.         
  7.         for widget in builder.get_objects():
  8.             if issubclass(type(widget),gtk.Buildable):   #测试是否继承关系
  9.                 name=gtk.Buildable.get_name(widget)
  10.                 setattr(self,name,widget)  #setattr(x,'a',1)等价于x.a = 1

  11.     def on_login_clicked(self,widget,data=None):
  12.         print self.main_window
  13.         self.main_window.remove(self.vbox_login)

  14. if __name__=='__main__':
  15.     Loginpanel().main_window.show()
  16.     gtk.main()
复制代码
登录界面已经画好,代码的第12行是按登录键之后,我看其他没有用glade直接写代码的程序是将主窗口的vbox,remove掉再写新的窗口进去,那我是用glade,所见即所得,那新的窗口怎么画呢?不会只能用代码画出来吧?

论坛徽章:
5
技术图书徽章
日期:2013-11-07 13:21:58技术图书徽章
日期:2013-12-07 10:34:46技术图书徽章
日期:2014-04-23 08:50:31双鱼座
日期:2014-09-16 09:12:34亥猪
日期:2015-01-23 13:37:49
2 [报告]
发表于 2011-04-10 13:36 |只看该作者
lz的问题太抽象。
glade只是个界面设计器。逻辑还要自己写。
gtk_widget_destroy可以销毁掉你的原窗口。

论坛徽章:
5
技术图书徽章
日期:2013-11-07 13:21:58技术图书徽章
日期:2013-12-07 10:34:46技术图书徽章
日期:2014-04-23 08:50:31双鱼座
日期:2014-09-16 09:12:34亥猪
日期:2015-01-23 13:37:49
3 [报告]
发表于 2011-04-10 15:02 |只看该作者
用glade再设计一个界面。
onclick时把原来的界面destroy,show新界面。
可否?

论坛徽章:
0
4 [报告]
发表于 2011-04-10 15:41 |只看该作者
那就是在一个glade里画两个主窗口咯?
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP