Sal*_*ley 5 python ubuntu canonical-quickly
几年前,我为当地社区广播电台编写了一个python命令行实用程序.这项工作的目的是使用从Google日历获取的元数据来增强广播流.这意味着任何在流上收听广播电台的人都能够阅读有关当前播放内容的最新信息流以及下一个节目开始前的分钟数.
大多数情况下,这个脚本运行良好,多年来提供良好的服务.
最近我遇到了一个新的要求:该应用程序的用户希望偶尔停止,启动或重新加载该过程(例如,因为日程安排信息已经改变).而不是教工作室工作人员的每个成员如何使用命令行,我们想到给这个工具一个简单的GUI.
由于应用程序将仅在Ubuntu上开发和运行,因此我们选择Quickly作为一个简单的开发框架.它有很好的文档记录,并为开发人员了解平台提供了低负担.
我们希望应用程序的初始设计包含一个类似浏览器的工具按钮功能区(启动,停止,重新加载).包含滚动状态消息的大面板.下面会有一个小的状态栏,可以深入了解程序的当前内部状态.
作为GUI编程的全新,我仍然不确定如何构建UI:主要的谜团仍然存在:
什么样的控件应该用于滚动文本面板,其中将显示日志消息.这需要是只读的,但每次生成日志消息时都会更新.我曾计划制作一个自定义Python日志记录处理程序,将任何日志消息重定向到此面板 - 但最简单的方法是什么?
我现在使用的脚本阻止了它没有对time.sleep()做任何事情 - 这显然对GUI没有好处,那么GUI应用程序中的进程的正确行为是什么,暂时无关?
我的进程最初设计为在终端中作为单个线程运行.鉴于我需要像以前那样运行更多或更少,这意味着我应该考虑将GUI内容放在与工作进程不同的线程上.在Quickly框架中是否有任何文档模式可以解决这个问题?
继续 - 是否有一种很好的方法可以使用Ubuntu以外的平台快速运行开发应用程序?例如,我可以轻松地使我的应用程序适用于任何其他基于Linux的操作系统.那些与OSX或Windows无关的东西呢?
谢谢!