我安装了Fedora 15来使用Python3和GObject来开发桌面应用程序,因为PyGTK看起来已经过时了:
2011年4月1日星期五由Rafael Villar Burke发布的PyGTK 2.24.0 PyGTK 2.24.0已经发布.这是一个支持GTK + 2.24 API的稳定版本. 希望使用GTK +开发Python应用程序的新用户建议使用PyGObject中提供的GObject-Introspection功能.[...]
PyGobject 2.26.0已经发布.这是2.26.x系列中的第一个稳定版本,并引入了对内省和Python 3的初始支持.[...]
资料来源:http://www.pygtk.org/
我以为是STRIKE!使用Python 3和PyGObject开发新的Gnome3应用程序!我访问了PyGObject页面,看到最新的稳定版本是2.28(自2.26以来支持Python3),它安装在Fedora上,但只有python2绑定.
有没有搞错?
我访问了网站上的PyGobject 演示和示例,并使用pygtk + pygtk.require('2.0')而不是pygobject查看了源代码和每个代码.
我错过了什么吗?如何使用Python3和PyGObject开发Gnome 3应用程序?
将程序逻辑分离到GUI代码的最佳方法是什么?
我想要使用相同程序逻辑的不同GUI(GTK,KDE,CLI)代码.
我正在考虑使用不同的python模块(winecellar-common,winecellar-gtk,winecellar-cli),不知道我将如何做到这一点,如果它是最好的方式.
*已编辑*
只是在我的问题中添加什么是组织项目文件结构和使用不同模块构建平台的最佳方法.请记住它主要用于Ubuntu.
快问.
我正在使用Linux,我想尝试使用Python制作GUI.我听说过像Qt,GTK +和PyGTK这样的东西,但我不知道它们究竟是什么,它们之间的区别是什么.
他们如何使用GNOME,KDE,XFCE等不同的DE有什么不同吗?是否有任何IDE允许您像Microsoft Visual Studio一样创建GUI(对于C#,C,Visual Basic等)?
或者我应该使用除Python以外的其他语言来制作GUI应用程序?
我正在移植liblarch,一个处理有向无环图的库,从PyGTK(GTK2)到PyGObject内省(GTK3).我遇到了GtkTreeView的问题.
使用liblarch的应用程序需要按列对GtkTreeView进行排序,但同时,用户可以拖放行,在另一行下移动一行.为此我必须手动处理dnd_data_get(),dnd_data_receive()这是完全可以的.
GtkTreeView的最小设置在PyGTK下运行.行已排序,用户可以移动行.
#!/usr/bin/python
# -*- coding: utf-8 -*-
import gtk
window = gtk.Window()
window.set_size_request(300, 200)
window.connect('delete_event', lambda w,e: gtk.main_quit())
# Define Liblarch Tree
store = gtk.TreeStore(str, str)
store.insert(None, -1, ["A", "Task A"])
store.insert(None, -1, ["B", "Task B"])
store.insert(None, -1, ["C", "Task C"])
d_parent = store.insert(None, -1, ["D", "Task D"])
store.insert(d_parent, -1, ["E", "Task E"])
# Define TreeView in similar way as it happens in GTG/Liblarch_gtk
tv = gtk.TreeView()
col = gtk.TreeViewColumn()
col.set_title("Title")
render_text …Run Code Online (Sandbox Code Playgroud) 我正在使用Python和PyGTK.我对运行某个函数感兴趣,该函数每隔几分钟从串口获取数据并保存.
目前,我在时间库中使用sleep()函数.为了能够进行处理,我的系统设置如下:
import time
waittime = 300 # 5 minutes
while(1):
time1 = time.time()
readserial() # Read data from serial port
processing() # Do stuff with serial data, including dumping it to a file
time2 = time.time()
processingtime = time2 - time1
sleeptime = waittime - processingtime
time.sleep(sleeptime)
Run Code Online (Sandbox Code Playgroud)
此设置允许我在从串行端口读取数据之间有5分钟的间隔.我的问题是,我希望能够让我的readserial()函数暂停每5分钟发生一次,并且能够一直做事而不是使用time.sleep()函数.
有关如何解决这个问题的任何建议?多线程?中断?请记住我正在使用python.
谢谢.
我想保存GTK窗口的外观,以及它包含的所有按钮和其他小部件到PNG或PDF文件.开罗支持在这样的表面上绘画.我可以以某种方式要求GTK小部件在开罗表面上绘制自己吗?我非常感谢代码示例,因为我是GTK和Cairo的新手.Python是我的首选语言.
我正在使用迁移指南(将GTK2移植到GTK3)将脚本转换为使用Gtk3 .我把我改成import pygtk了from gi.repository import Gtk等等......
我被困了,因为glade模块是从模块gtk加载的:
import gtk
import gtk.glade
Run Code Online (Sandbox Code Playgroud)
但是现在再也没办法了.
请注意,我只需要替换gtk.glade.XML()...
我有一个应用程序,其GUI将根据人体工程学原因重新制作.它是用PyGTK编写的,我想知道是否应该切换到PyQt来缓解未来的发展.
这个应用程序主要是带有按钮,工具栏,对话框等的经典UI,但也有一些特定的要求:我当然需要创建一个基于treeview/tableview的自定义小部件(制作类似电子表格的小部件),这个应用程序有一个许多更新GUI的工作线程.
我正在就这两点寻求建议: