Questions tagged «gui»

在计算中,图形用户界面(GUI,有时发音为gooey)是一种用户界面,它允许用户使用图像而不是文本命令与电子设备进行交互。GUI可以用于计算机,MP3播放器等便携式设备,便携式媒体播放器或游戏设备,家用电器和办公设备中。

2
对Haskell中的GUI库的建议[关闭]
关闭。这个问题是题外话。它当前不接受答案。 想改善这个问题吗? 更新问题,以使它成为软件工程堆栈交换的主题。 5年前关闭。 正如Haskell Wiki本身所言: Haskell有大量的GUI库。不幸的是,没有标准的标准,而所有标准或多或少都是不完整的。通常,低级别的贴面进展顺利,但级别较低。高级抽象是实验性的。需要受支持的中级GUI库。 我学院的一位教授要求我和其他三个计算机科学专业的学生考虑为Haskell开发GUI库。他对该项目的最初想法是在OpenGL之上编写一个层,该层模仿Smalltalk中的形态库。但是,这只是一个建议,其他系统绝对值得考虑。 这将我们带到一个实际的,包含多个部分的问题。 我们的图书馆应该争取什么抽象水平?Haskell Wiki似乎强烈表明将首选中级GUI库。但是,仍然欢迎使用高级图书馆。 我们的图书馆应基于什么建造?(例如OpenGL) 您希望看到什么现有的GUI库模仿我们的库(如果有),为什么?(例如PyGame,Morphic,Swing等) 您希望我们的库实现或避免哪些功能?例如,Gnome的好人可能会认为“最小化”按钮是不必要的。 您有什么一般性建议吗? 您会给这个假想库一个聪明的名字吗?(例如HOT-Haskell Opengl Toolkit; HAWT-Haskell Advanced Windowing Toolkit)

16
您是否曾经因为外观更好而使用了特定的工具而不是其他工具?[关闭]
按照目前的情况,这个问题并不适合我们的问答形式。我们希望答案得到事实,参考或专业知识的支持,但是这个问题可能会引起辩论,争论,民意调查或扩展讨论。如果您认为此问题可以解决并且可以重新提出,请访问帮助中心以获取指导。 8年前关闭。 我发现Eclipse就是这种情况。当我刚开始学习Java时,许多人告诉我开始使用NetBeans,因为它更容易,具有许多预定义的功能,并且大多数配置默认情况下完成。确实,这似乎是一个简单的IDE,但我只是讨厌它的外观。我的用户界面太糟糕了。 然后,我下载了Eclipse。我对此印象深刻。与NetBeans相比,所有内容看上去都很闪亮,字体看上去很棒,并且UI总体来说很棒。所以我留在Eclipse。 有这种事发生在您身上吗?UI是否应该与程序员如此相关,这不好吗?UI的问题不仅对IDE而言,对我而言还包括所有问题(例如,即使在Linux上,我也必须在开始使用WM之前按自己的方式自定义WM)。
13 gui 

2
Webkit作为.Net / Mono中的GUI
我想制作一个跨平台应用程序,该应用程序还将有一个网站,桌面应用程序(Windows,iOS,Linux)将与服务器进行对话,并使用户数据保持同步。 到目前为止,我看到的选择是: 为这三个操作系统中的每一个编写一个本机GUI,所以我将拥有3个GUI代码库(和一个后端系统) 使用类似GTK的工具,这样我就可以在所有提及的平台上使用一个受支持的系统。 但是我无法找到更多信息的第三个窗口(可能是因为我对C#和.Net还是陌生的,所以我没有搜索正确的术语)是要有一个内置了嵌入式WebKit实例的窗口,这将允许我使用与网站相同的GUI系统。这将使客户端应用程序和网站看起来彼此尽可能接近,从而使用户熟悉该界面。 WebKit的最后一个选项是否合理?我已经非常了解JavaScript / HTML,并且如果我可以使用该知识来创建界面,那将很棒。这也是允许用户使用插件自定义界面的好方法,并且他们可以使从本地到Web的任何UI首选项保持同步。
12 c#  .net  javascript  gui  mono 


7
Python是开发UI的好选择吗?如果是这样,wxPython还是Tkinter?
我期待使用Python开发桌面应用程序。我是一个初学者,我在Python方面没有足够的专业知识。我也是Java程序员。尽管我有一些使用Swing构建UI的经验,但我发现在Swing上开发的应用太慢了。好吧,这可能就是为什么许多主要实现都是在C / C ++中完成的原因之一,就像在浏览器/游戏中一样。 用C ++开发UI可能是一个更好的选择,但是我更喜欢选择一种高级编程语言,而不是C / C ++。因此,我选择使用Python是因为Python本身是基于C / C ++构建的,因此它会比Java Swing更好。 那么,我可以继续假设Python在开发UI方面比Java Swing好吗?还是建议使用比Python更好的语言来开发UI?如果我继续使用Python,应该使用哪个工具包使用Tkinter或wxPython,为什么?

4
跨平台的GUI工具包有趋势吗?[关闭]
按照目前的情况,这个问题并不适合我们的问答形式。我们希望答案得到事实,参考或专业知识的支持,但是这个问题可能会引起辩论,争论,民意调查或扩展讨论。如果您认为此问题可以解决并且可以重新提出,请访问帮助中心以获取指导。 8年前关闭。 目前,跨平台 GUI框架的使用趋势如何?是更多的人开始使用跨平台框架(例如GTK +,Qt和wxWidgets),还是有更多的人在使用更多与平台相关的框架(例如Cocoa或WPF)?它多少停滞不前?像过山车吗?从现在起的5年后,您认为这种趋势会如何? 使用Windows的人越来越少,操作系统的格局正在发生变化(个人观察)。这应该会增加对跨平台工具包的需求,不是吗? 编辑:此外,哪些工具(跨平台)正在增长最多,如果可以的话?

5
向UI报告进度的最佳策略-回调应该如何发生?
有时,用户会启动一项扩展的技术操作,该操作需要一段时间才能执行。在这些情况下,通常最好显示某种进度条以及有关当前正在执行哪个任务的信息。 为了避免UI和逻辑层之间的紧密耦合,通常最好通过某种代理进行通信。也就是说,后端不应该操纵自己的UI元素,甚至不应该直接与中介层进行交互。 显然,必须在某处进行一些回调才能使此工作正常进行。我通常以两种方式之一实现它: 将可变对象传递给后端,并让后端在进行时对其进行更改。发生更改时,对象会通知前端。 传递形式void f(ProgressObject)或后端调用的回调函数ProgressObject -> unit。在这种情况下,后端构造了ProgressObject,并且完全是被动的。我认为,每次要报告进度时,它都必须构造一个新对象。 这些方法的缺点和优点是什么?有没有商定的最佳使用方法?有不同的使用环境吗? 是否有完全不同的报告进度的技术被我忽略了?

2
用多个“屏幕”构建Winform应用程序的正确方法是什么
构建具有多个“屏幕”的Winform应用程序的正确方法是什么?例如,我正在尝试编写一个小的备份程序(主要用于咯咯笑),并且我一直在将控件和容器转储到表单上。 我正在使用面板和组框来分隔不同的屏幕(例如:我正在使用一个面板来保存“设置”窗口的所有控件,而另一个面板来显示已设置的所有当前备份)。好吧,我的form.cs文件膨胀成大量的代码,我感觉自己做错了什么。我几乎找不到文件中的任何内容,现在可以重新开始了。这个项目只是为了扩展我对C#和.NET的了解,因此开始一个新项目并不是一件大事。
11 c#  gui  winforms  gui-design 

6
用于显示X个百分比滑块的UI的算法,这些滑块的链接值始终总计为100%
我正在构建的系统包括一组UI滑块(数量有所不同),每个滑块的比例为0-100。滑块是指一个用户界面,您可以在其中抓取一个元素并将其上下拖动,就像音量控件一样。它们通过一种算法进行连接,以确保它们始终总为100。因此,当一个滑块向上移动时,其他所有滑块都向下移动,最终变为零。当一个向下移动时,其他向上移动。在任何时候,总数必须为100。因此,此处的滑块具有不同的值,但总计为100%: ----O------ 40 O---------- 0 --O-------- 20 --O-------- 20 --O-------- 20 如果第一个滑块然后从40向上移动到70,则其他滑块的值必须向下移动(拖动滑块时)。请注意,三个滑块从20更改为10,一个滑块保持在零,因为它不能降低。 -------O--- 70 O---------- 0 -O--------- 10 -O--------- 10 -O--------- 10 当然,当任何滑块达到0或100时,它都无法进一步移动,这就是我的头部开始真正受伤的地方。因此,如果滑块向高处移动,则其他滑块向低处移动,但是当其中任何一个达到零时,只有尚未达到零的其余滑块才能向低处移动。 我在这里问这个问题,因为这个问题特定于算法而不是实现。FWIW该平台是Android Java,但这并不特别相关。 我第一次刺中的方法是计算移动的滑块的百分比变化。然后,我拆分该更改并将其(沿另一个方向)应用于其他滑块值。但是,问题在于,如果使用百分比乘以,如果任何滑块滑到零,就永远不会再从零开始增加-最终结果是各个滑块卡在零上。为了避免舍入问题,我使用了范围为0-1,000,000的滑块,这似乎很有用,但是我还没有创建一种能够很好地处理所有情况的算法。
11 algorithms  gui  ui 

3
Java Swing GUI框架有哪些缺点?[关闭]
按照目前的情况,这个问题并不适合我们的问答形式。我们希望答案得到事实,参考或专业知识的支持,但是这个问题可能会引起辩论,争论,民意调查或扩展讨论。如果您认为此问题可以解决并且可以重新提出,请访问帮助中心以获取指导。 6年前关闭。 我已经将Java Swing用于某些桌面应用程序。但是我没有使用太多其他GUI框架,因此无法进行比较。 肯定有一些我喜欢Swing的东西,有些我不喜欢,但这就是几乎所有情况。 Java Swing GUI框架的最大缺点是什么?
11 frameworks  gui  swing 

1
响应式编程和MVVM模式,用于管理GUI更新
响应式编程和MVVM是可以解决将域层与UI分离的问题的两种方法。 MVVM通过定义视图模型来实现此目的,该视图模型是映射到UI组件的数据结构。UI显示数据,并可能在用户出现时进行更新。 一个反应式框架定义了一个可观察的图形,该图形通知UI某些数据已更改 在主流平台(.net和java中的Rx,react.js)和更多实验性的地方(在Haskell中的FRP)中,反应性框架都在引起人们的关注。 我主要使用带有角度的MVVM,尽管我仅使用它从事小型/中型项目,但我发现表现力比的简单性令人满意。 反应式框架购买了mvvm不买的开发者? 真的有区别吗?例如,knockout.js被宣传为mvvm框架,但在其界面中有一种反应: this.firstName = ko.observable("John"); this.lastName = ko.observable("Smith"); this.fullName = ko.computed(function() { return this.firstName() + " " + this.lastName(); }, this);
11 gui  mvvm  ui  reactive 

3
您如何克服大屏幕房地产设计的挑战?[关闭]
已关闭。这个问题需要更加集中。它当前不接受答案。 想改善这个问题吗?更新问题,使其仅通过编辑此帖子来关注一个问题。 4年前关闭。 这个问题比较主观,但是我希望有一些新的看法。我习惯于为特定的屏幕尺寸(通常为1024x768)进行设计,以至于发现该尺寸不是问题。将尺寸扩展为1280x1024并不能为您带来足够的屏幕空间,无法为您带来显着的变化,但会给我更多的呼吸空间。基本上,我只是扩大了“网格大小”,并且略微缩小屏幕的相同基本设计仍然有效。 但是,在最近的几个项目中,我的客户都使用1080p(1920x1080)屏幕,他们希望解决方案能够尽可能多地使用该屏幕。1920像素的宽度几乎是我习惯使用的宽度的两倍,宽屏使我的一些旧设计方法无法正常使用。我遇到的问题是,面对如此多的空间,我遇到了一些重大问题。 我应该使用几列?宽格式适用于以2:1:1拆分的3列拆分(即,内容列大于其他两个列)。但是,如果我选择三列,那么该多余的列怎么办? 如何有效利用屏幕空间?试图将所有内容同时显示在屏幕上是一种诱惑,但是太多的信息实际上使应用程序更难使用。空格对于帮助理解复杂的信息很重要,但是太多的空格会使相关的概念显得过于分离。 我通常使用具有复杂数据的Web应用程序,而可视化和表示形式是理解原始数据的关键。当您的用户还具有大屏幕(至少24英寸)时,某些信息不在视线范围内,您需要将指针移动很长一段距离。如何确保所需的所有内容都停留在视觉热点内? 当宽度受限制时,像博客之类的简单网站实际上会做得更好,这会导致大量的房地产浪费。我有点想知道是否将文本框和文本预览并排放置对于这种类型的屏幕的管理员侧来说是否会有很大的好处?(1:1两列拆分)。 对于您的答案,我知道设计中的几乎所有内容都是“取决于”的。我正在寻找的是: 您使用的一般原则 您的设计方法是如何改变的 我发现我必须重新训练自己如何使用这种不同的格式。迄今为止,我一直努力解决的每个分辨率难题都约为25%:640至800(增加25%),800至1024(增加28%)和1024至1280(增加25%)。但是,从1280到1920的跃迁在空间上增加了50%,相当于从640跃升到1024。这是没有常用的中等大小来帮助逐步学习课程的。
10 design  gui  usability 

4
GUI编程的Signals + Slots模型是否有其他实用选择?
如今,大多数GUI工具包都使用Signals + Slots模型。没错,是Qt和GTK +率先提出的。 您知道,小部件或图形对象(有时甚至是未显示的小部件)将信号发送到主循环处理程序。然后,主循环处理程序调用为该小部件/图形对象分配的事件,回调或插槽。virtual工具包通常已经提供了默认的(大多数情况下)事件处理程序来处理所有预定义的信号,因此,与以前的设计不同,开发人员必须自己为每个消息编写整个主循环和处理程序。 (例如WINAPI),开发人员只需要担心实现新功能所需的信号。 据我所知,现在大多数现代工具箱都使用了这种设计。有Qt,GTK +,FLTK等。还有Java Swing。C#甚至具有它的语言功能(事件和委托),并且Windows Forms已在此设计上开发。实际上,在过去的十年中,这种用于GUI编程的设计已经成为一种不成文的标准。由于它提高了生产率并提供了更好的抽象。 但是,我的问题是: 对于现代GUI编程,是否有并行或实用的替代设计? 即信号+插槽设计是镇上唯一实用的设计吗?用任何其他设计进行GUI编程是否可行?是否有任何其他现代(最好是成功且流行的)GUI工具箱都基于替代设计?

2
Haskell GUI:Haskell可以完成多少工作?
我一直想在Haskell中尝试图形。从我所看到的来看,可用的库要么是C / C ++库的前端,要么是功能最少的抽象。高级库似乎不适合我的需求,因此我只剩下较低级的前端。 我需要渲染图块和文本 -一个非常简单的游戏的基础。我知道如何使用C进行此操作,并且一直在考虑可以使用C编写图形并将其与Haskell接口。另一种方法是使用Haskell库编写图形。 我的问题是,可用的Haskell库能否实现我想要的?我不想向后弯腰。如果C可以做得比我想知道的要好。

3
什么时候使用RCP?
我喜欢使用Java和Swing编写小型GUI应用程序,类似于社交网站Tumblr的客户端 我应该使用Eclipse RCP还是Netbeans平台? 通过使用普通摆幅/ SWT中的任何一种,我可以获得什么好处? 与使用Swing或SWT开发的应用程序相比,RCP应用程序是否需要更多的依赖项?
9 java  gui 

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.