我查看了在交互式窗口中绘制函数(或其他类型的图形)的不同选项.我主要使用wxWidgets,但我会对任何其他"接口"开放.
wxPlot:自2006年以来没有更新.但如果它是......那将是一个很好的候选人.
wxMathPlot:很新,不成熟,功能很少(仍然有效?)
libgraph:过时,不反弹,仅2D,仅输出图像.
koolplot:太基本了,无法控制创建的窗口.
EasyBMP:非常基本,只有图像输出.
plotutils:仅限命令行.
plplot:C和C++ API几乎没有维护.事实上,wxPlot就是基于此.如果我们更新了C和C++接口,也可能成为候选者.
任何意见?想法?
谢谢!
我已经设置了一个wxAuiManager包含八个文本控件的简单系统,每个控件都设置为一个窗格,所有控件都围绕着一个中央静态控件.我有两个对齐到顶部,左,右和底部窗格方向.这部分工作正常.
我现在想修改每个窗格的属性,我认为可以通过重置关联来完成wxAuiPaneInfo.例如,我想添加/删除引脚或最大化图标.我可以让它自己工作,但重置这些属性后重绘托管窗口被证明是一个挑战.
这是我目前使用的代码:
// Get the currently selected pane
$paneIndex = $this->getSelectedPaneIndex();
/* @var $paneInfo wxAuiPaneInfo */
$paneInfo = $this->getPaneInfoByIndex($paneIndex);
// Set new flag true/false on paneinfo, using setter methods
/* @var $ctrl wxCheckBox */
$ctrl = wxDynamicCast($event->GetEventObject(), "wxCheckBox");
$methods = $this->getPaneSetterMethods();
$method = $methods[$ctrl->GetName()];
$paneInfo->$method($ctrl->GetValue());
/* @var $window \wxTextCtrl */
/* @var $manager \wxAuiManager */
$window = $this->getManagedWindow()->getWindowByIndex($paneIndex);
$manager = $this->getManagedWindow()->getAuiManager();
// This sort of works, but the pane sometimes ends up being moved
$manager->DetachPane($window); …Run Code Online (Sandbox Code Playgroud) 很抱歉再次提出这个问题.我已经搜索过,并且在stackoverflow和一般谷歌搜索中都发现了它的重复.不幸的是,我不能让我的系统排序.
我有以下内容:
C:\Python27\Lib\site-packages\wx-2.8-msw-unicode
Run Code Online (Sandbox Code Playgroud)
此文件夹包含wx文件夹以及wx和wxPython文件夹,每个文件夹都包含这些
_init_.py文件
当我导入wx时,我收到错误消息 "no module named wx"
为了让Python找到相关文件以允许我成功地"导入wx",我需要做些什么
之前已经提出过这个问题,但最近的问题似乎是两年前的问题,因此必须在两个工具包中发生新的发展.
那么我应该使用哪个工具包来开发使用C++的GUI?每个的优点/缺点是什么?
我需要编写一个应用程序,它与Windows XP/Vista/7本机编写的内容在视觉上无法区分,使用最现代的Visual Studio默认设置.但我正在开发使用MinGW和Vim(用C++编写).
特别是,我希望以下控件在以上三个版本的Windows上是原生的:表单铬,按钮,复选框,菜单,组合框,进度条,滚动条,富文本框.这对我来说已经足够了.
我知道如果您加载GdiPlus和其他类似的东西riched32.dll,并使用Windows API来实例化控件,那么操作系统将替换其版本的GdiPlus或其他库,因此它看起来像XP上的XP风格控件,Vista上的Vista,等等
但我不想使用普通的Windows API,因为即使检索默认字体也需要半页代码,而且类似的故事无论我想做什么.所以我想使用工具包.
wxWidgets,Qt,GTK +,FLTK似乎是使用最广泛的.但它们都是跨平台的.我使用过跨平台应用程序,其中许多都有外部GUI控件(我称之为小部件).所以我的问题是:这些工具包中的哪一个可以生成上面列出的真正的原生外观UI控件,正确显示在上面列出的三个版本的MSWin上?
我在谷歌图片中输入了每个+"窗口",但很难说,除了FLTK可能无法做到.你们中的许多人必须从头脑中知道答案......
我是wxWidgets的重度用户,部分原因是由于许可原因.
我们需要使用Google Test Framework为wxWidgets应用程序编写单元测试.问题是wxWidgets使用宏IMPLEMENT_APP(MyApp)来初始化并进入应用程序主循环.这个宏创建了几个函数,包括int main().谷歌测试框架还为每个测试使用宏定义.
其中一个问题是无法从测试宏中调用wxWidgets宏,因为第一个宏创建函数.所以,我们发现我们可以用以下代码替换宏:
wxApp* pApp = new MyApp();
wxApp::SetInstance(pApp);
wxEntry(argc, argv);
Run Code Online (Sandbox Code Playgroud)
这是一个很好的替代品,但是wxEntry()调用进入原始的应用程序循环.如果我们不调用wxEntry(),仍然有一些应用程序的部分未初始化.
问题是如何初始化运行wxApp所需的所有内容,而不实际运行它,因此我们能够对其中的部分进行单元测试?
WxWidgets在2015年是否相关?最后一次发布于2014年10月6日,该项目是否已经死亡?有没有理由在Qt上选择它?
什么是扩展的最佳方式
${MyPath}/filename.txt to /home/user/filename.txt
Run Code Online (Sandbox Code Playgroud)
要么
%MyPath%/filename.txt to c:\Documents and settings\user\filename.txt
Run Code Online (Sandbox Code Playgroud)
遍历遍历路径字符串直接寻找环境变量?我看到wxWidgets有一个wxExpandEnvVars函数.在这种情况下我不能使用wxWidgets,所以我希望找到一个boost :: filesystem等价或类似的.我只使用主目录作为示例,我正在寻找通用路径扩展.
我正在编写一个相当大而复杂的数据分析程序,我已经达到了我认为是时候为程序构建GUI的时候了.所以我的问题是:
我应该使用哪个GUI工具包?
我对编码和构建GUI完全陌生,并且非常感谢可以提供的任何指导.它不一定是世界上最简单的工具包,我学得很快.但是,它确实需要能够执行以下操作(如果不是所有这些对于任何给定的工具包都可能是非常基本的,但我认为将所有这些放在那里以防万一是好的).
它必须允许我直接绘制到屏幕上,以便我可以将图形(光谱确实),图形和类似的东西放在用户看到.我需要能够收集他们点击上述光谱的位置信息.我需要能够显示文本并从用户那里获取文本输入.它需要能够生成菜单(你知道文件,编辑等).如果它有一些内置的小部件用于生成会很方便的表(虽然我可以克服缺乏,如果我可以直接绘制到屏幕).它需要能够弹出警告,对话框,保存和打开框等.这就是它,当我把它们写出来时,大多数这些看起来非常基本,但我不想让GUI部分编码和然后意识到II需要用不同的工具包重写它.
应该注意的是,我用C++编写了这个程序,并且我不想用C或其他东西编写GUI部分,因此工具包需要支持C++.
此外,跨平台工具包优于单个平台工具包.但是,如果它必须是单个平台工具包,那么我更希望它适用于Linux.
最后,我会优先考虑将开源工具包改为封闭源工具包.
除此之外,我无法想到要添加的任何内容.提前感谢您的时间和答案.
嗯基于答案,我将看看Qt和wxWidgets,看看哪个更吸引我.我可以接受多个答案,但我不能,因为我正在看两件事,只接受其中一个答案是不公平的,也许在一两个星期后我就看了工具包并想通了出来我想用.
wxwidgets ×10
c++ ×6
qt ×4
python ×2
googletest ×1
graph ×1
gtk ×1
importerror ×1
php ×1
plot ×1
unit-testing ×1
windows ×1
wxphp ×1
wxpython ×1