标签: user-interface

GUI设计的最佳实践和原则

什么是您最好的实用用户友好的用户界面设计或原则?

请提交您认为真正有用的实践 - 无论如何 - 如果它适用于您的用户,请分享!


总结/整理

原则

  1. 吻.
  2. 明确并明确选项将实现的内容:例如,使用动词来指示选择后面的操作(参见:Impl.1).
  3. 使用适合用户需要/想要实现的明显默认操作.
  4. 使UI的外观和行为适合环境/流程/受众:独立应用程序,网页,便携式,科学分析,Flash游戏,专业人士/儿童,......
  5. 减少新用户的学习曲线.
  6. 不要禁用或隐藏选项,而应考虑提供有用的消息,其中用户可以有替代方案,但仅限于存在这些替代方案的位置.如果没有可用的替代方案,最好禁用该选项 - 在视觉上然后声明该选项不可用 - 不要隐藏不可用的选项,而是在鼠标悬停弹出中解释为什么它被禁用.
  7. 保持一致并符合实践和控件的放置,这在广泛使用的成功应用程序中实现.
  8. 引导用户的期望,让您的程序按照这些期望行事.
  9. 坚持用户的词汇和知识,不要使用程序员/实现术语.
  10. 遵循基本设计原则:对比度(显而易见性),重复性(一致性),对齐(外观)和接近度(分组).

履行

  1. (参见paiNie的回答)"尝试在对话框中使用动词."
  2. 允许/实现撤消和重做.

参考

  1. Windows Vista用户体验指南[ http://msdn.microsoft.com/en-us/library/aa511258.aspx]
  2. 荷兰网站 - "Drempelvrij"指南[ http://www.drempelvrij.nl/richtlijnen]
  3. 网页内容无障碍指南(WCAG 1.0)[ http://www.w3.org/TR/WCAG10/]
  4. 一致性[ http://www.amazon.com/Design-Everyday-Things-Donald-Norman/dp/0385267746]
  5. 不要让我想想[ http://www.amazon.com/Dont-Make-Me-Think-Usability/dp/0321344758/ref=pdbbssr_1?ie=UTF8&s=books&qid=1221726383&sr=8-1]
  6. 功能强大且简单[ http://msdn.microsoft.com/en-us/library/aa511332.aspx]
  7. 格式塔设计法[ http://www.squidoo.com/gestaltlaws]

user-interface principles

63
推荐指数
9
解决办法
5万
查看次数

ScrollView中的图像网格

我正在尝试创建一个包含文本和图像的屏幕.我希望图像像网格一样布局,如下所示,但我希望它们没有周围ScrollView提供的滚动功能.

图像最能说明我的问题:

替代文字

<ScrollView>
    <LinearLayout>
        <ImageView />
        <TextView />
        <GridView />
        <TextView />
    </LinearLayout>
</ScrollView>
Run Code Online (Sandbox Code Playgroud)

什么是显示不同数量图像的网格的最佳方法,其中网格没有滚动功能?

请注意,禁用GridView的滚动功能不起作用,因为这只会禁用滚动条但不显示所有项目.

更新:下图显示了在GridView中禁用滚动条的情况.

替代文字

user-interface android gridview scrollview imageview

63
推荐指数
1
解决办法
5万
查看次数

如何改善Android应用的外观和风格?

我已经看到标准的Android UI组件外观不佳.

任何人都可以提供一些关于如何改善Android应用程序外观和感觉的链接或建议吗?

user-interface android

63
推荐指数
6
解决办法
2万
查看次数

是否有专门针对PyQt5的教程?

我正在寻找一个PyQt5教程.在没有教程的情况下首次使用Python开始GUI开发相当复杂.

到目前为止我只找到了一些PyQt4教程,并且由于Qt4到Qt5的变化,例如事实SIGNAL并且SLOT在Qt5中不再支持,所以为PyQt5提供特定的教程会很好.

有人可以提供一个如何使用PyQt5开始GUI开发的教程吗?

python user-interface qt5 pyqt5

63
推荐指数
3
解决办法
5万
查看次数

如何在纯C/C++(cout/printf)中显示进度指示器?

我正在用C++编写一个控制台程序来下载一个大文件.我知道文件大小,我开始下载工作线程.我想显示一个进度指示器,使其看起来更酷.

如何在cout或printf中的不同时间,但在同一位置显示不同的字符串?

c c++ io user-interface c++11

62
推荐指数
7
解决办法
8万
查看次数

在WPF中,如何确定控件是否对用户可见?

我正在展示一棵非常大的树,里面有很多物品.这些项目中的每一项都通过其关联的UserControl控件向用户显示信息,并且此信息必须每250毫秒更新一次,这可能是一项非常昂贵的任务,因为我还使用反射来访问其某些值.我的第一种方法是使用IsVisible属性,但它不能像我预期的那样工作.

有什么方法可以确定控件是否对用户"可见"?

注意:我已经使用IsExpanded属性来跳过更新折叠节点,但是一些节点有100多个元素,并且找不到跳过网格视口之外的节点的方法.

.net wpf user-interface visibility wpf-controls

61
推荐指数
4
解决办法
4万
查看次数

61
推荐指数
2
解决办法
3万
查看次数

如何在Mysql Workbench GUI中查看表内容?

如何查看Mysql workbench GUI中的表内容?我的意思是,不是来自命令行.

mysql user-interface mysql-workbench

61
推荐指数
6
解决办法
11万
查看次数

VB.NET - 中断表单循环和结束表单

我有一个经历无限循环并处理数据的表单.当我单击"关闭"表单的按钮时,表单即使关闭也会继续处理.我希望表单完全结束并退出其循环语句,然后打开一个新表单.

这是我用来关闭表单的代码

frmMain.Close()
frmMain.Dispose()
Run Code Online (Sandbox Code Playgroud)

注意:我没有使用线程,它只是一个简单的VB.NET应用程序.我没有关闭主要的启动表格.

vb.net user-interface winforms

60
推荐指数
2
解决办法
1万
查看次数

崇高的文本编辑器使用什么gui库?

我已经下载了一个sublimetext的编辑器,我想知道那里使用的GUI库.

编辑器可执行文件目录中的文件的文件名是:

bz2.pyd
Microsoft.VC90.CRT.manifest   
msvcp90.dll
msvcr90.dll                   
PackageSetup.py
PackageSetup.pyc              
pyexpat.pyd                   
python26.dll
python26.zip                  
select.pyd
sublimeplugin.py              
sublimeplugin.pyc
sublimetext.exe               
unicodedata.pyd
unins000.dat                  
unins000.exe
_ctypes.pyd                   
_elementtree.pyd
_hashlib.pyd                  
_socket.pyd
_ssl.pyd     
Run Code Online (Sandbox Code Playgroud)

我可以从文件名中找到信息吗?

python user-interface sublimetext

60
推荐指数
3
解决办法
4万
查看次数