问题标签 [wt]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
4 回答
3425 浏览

javascript - 从 Qt 应用程序转换为 Web 应用程序的建议

我目前有一个基于 Qt 的 GUI 应用程序,它简单地提供了一个图形仪表板(指标、图表等),显示另一个应用程序通过 TCP 连接提供的实时数据。出于架构和安全原因,我被告知不再允许我的 TCP 连接,并且 HTTPS websocket 将是我唯一的管道。有人建议我使用 HTML5 和 Javascript 将我的应用程序转换为网络应用程序。但是,我不是网络程序员,但可能会认为这是学习新技术的机会。在做出决定之前,我想更好地了解情况。所以,我认为我的选择是:

  1. 将我的应用程序转换为网络应用程序,为我提供基于网络的应用程序的所有优点/缺点。对我来说还有更多的工作,因为它是一项新技术,而且我已经让 Qt/TCP 版本运行良好。如果这是建议的方法,任何有关开发环境/工具的建议将不胜感激。

  2. 将我当前的 Qt 应用程序转换为客户端 HTTPS 连接而不是 TCP 连接。不确定这是可能的。从我读过的内容来看,QtWebKit 可能无法做到这一点。看起来很奇怪?

也许还有另一个我没有考虑的选择?

0 投票
1 回答
545 浏览

amazon-ec2 - 使用弹性 ip 在亚马逊 ec2 上访问 wt

当我午餐其中一个示例时,我在运行 ubuntu 的 ec2 微型实例上对最新的 wt 进行了源代码编译:

http://54.243.50.12:8080/当我放入或http://54.243.50.12/放入 chrome 的地址栏时,我无法访问它。它一直在加载并且永远找不到它。

弹性 IP 的关联起作用了。我可以用腻子连接到 54.243.50.12。

如果我在启动 wt 时尝试指定弹性 IP,则 wt 服务器不会启动:

如果没有弹性 IP,情况也是如此。

8080端口打开:

我做了所有在http://redmine.webtoolkit.eu/boards/2/topics/4484#message-4516但没有帮助。

0 投票
2 回答
1184 浏览

c++ - 与 Wt 示例组合时的链接错误

我正在为我的项目使用 C++ 网络框架。我正在尝试向 gitmodel 示例添加身份验证。

我收到以下错误:

完整错误列表: http: //pastie.org/5469803

我尝试使用cmake生成的makefile。追查下来,原来这个链接器错误是在运行CMakeFiles目录下的link.txt之后。我尝试将 gitmodel 示例和 hangman 示例的 link.txt 结合起来,因为 hangman 也进行身份验证。这是我的link.txt:

馅饼链接:http://pastie.org/5469815

谁能告诉我的链接命令有什么问题?

在运行 cmake 时,我得到

0 投票
1 回答
411 浏览

c++ - 如何在 Mac 和 Netbeans 中创建 Wt 项目

我已经在我的 Mac 上成功构建并安装了Wt,现在我需要构建示例应用程序并运行它。我无法在我的机器上找到所需的库。在示例文档中,它说要执行以下操作:

但我找不到 Include 和 libs 文件,因此我可以在 Netbeans 中添加。

0 投票
1 回答
1226 浏览

c++ - 使用 QtCreator(qmake) 编译 wtwithqt 示例

我正在使用Qt 开发一个网络管理应用程序,我选择将Wt用于 UI,因为有了它我就不必处理任何 Web 部件(PHP、AJAX、HTML/CSS)并且它可以在所有应用程序上使用平台。

我成功地使用 cmake 编译和运行示例。虽然我习惯了 QtCreator IDE 和 qmake,但我更愿意将其用于开发和编译。

我试图在 QtCreator(qmake) 中编译“wtwithqt”示例时遇到了困难。我一直在到处寻找一些如何用 qmake 编译它的指南。但是我发现没有任何帮助。

这是我的 .pro 文件。

testWt.pro

编译输出

任何帮助表示赞赏!提前致谢!

0 投票
2 回答
1571 浏览

c++ - 如何清理 WT 中的内存?

2013 年 3 月 27 日更新

看来我没有泄漏内存,只是每次按下 F5 或新用户连接时 WT 都没有保持持久会话。基本上,旧会话被删除,每次按 F5 或新用户从另一台机器连接时都会创建一个新会话。我已经阅读了文档的某些部分,其中提到了使会话持久化,因此当用户重新加载页面或不同的用户连接时,他们都会看到相同的内容。但是,我还不能让它工作。我认为这是 wt_config.xml 文件中的函数调用或设置。如果我取得任何其他进展,将更新。

原帖

所以我的问题是,我如何清理 WT 中的内存,以便每次用户在页面上按 F5 时内存使用在任务管理器中保持不变?

好的,所以我正在使用 WT 发音(诙谐),我注意到每次用户在页面上按 F5 刷新它时,我的服务器应用程序都会消耗更多内存,这对我来说看起来像是在泄漏内存,但我遵循与 WT 大多数基本应用程序相同的过程...

所以,我回到了我能找到的最基本的 WT 应用程序,hello 应用程序的代码和工作示例可以在这里找到(http://www.webtoolkit.eu/wt/examples/)如果你没有亲自建造过这个项目。

一旦我在我的机器上运行示例并在页面上按 F5,我的任务管理器中的内存就会增加。

我可能怀疑是下面的这个功能。

每次按下 F5 时都会调用它,并创建一个继承自 WApplication 的 HelloApplication 的新实例。

我试图纠正这种情况但没有奏效的一些事情包括: 为 HelloApplication 保留 2 个指针,以便每次分配新指针时都可以删除旧指针。调用 quit() 函数,并删除指针。只需调用 quit() 函数。我还在 WT 文档站点(http://www.webtoolkit.eu/wt/doc/reference/html/index.html)上查看了有关该类及其方法的更多详细信息,但还没有提出任何有效的东西。

我要求任何回复的人尽可能详细地说明如何处理内存清理。一个例子将不胜感激,在此先感谢!

0 投票
3 回答
19070 浏览

c++ - 虚拟内存耗尽:无法分配内存

我在 ubuntu 12.10 上编译失败,可用内存为 300mb(总共 750mb,MySQL 为 350mb),1.5ghz,我正在尝试将 wt 的基本 hello world 文件重新编写为一个简单的 ajax 页面。我很确定这不是内存问题,因为我能够使用g++ -O3 -o hello hello.C -lwtfcgi -lwt -lboost_signals.

我确定我把 c++ 搞砸了,因为我HelloApplication::HelloApplication(const WEnvironment& env) : WApplication(env)从 Wt::Json 示例中取出并放入示例

我是 C++ 新手,所以我几乎不知道自己在做什么。我所能做的就是执行最简单的 c++ 文件。

这是 hello world 文件的原始来源。

这是我从中获取 json 样本的地方。

** 影响**

哇,我对 c++ 的尊重程度刚刚达到顶峰。

这完全摧毁了我的 VPS。我无法重新启动。我什至无法重新安装我的发行版。

当我最终投入生产时,我想我将建立一个完全不同的开发系统,以防止这样的事情扼杀我的生产系统。

0 投票
2 回答
2407 浏览

c++ - Wt 编译问题

我开始学习如何编写 Wt 应用程序,但我收到一个编译错误,我不知道如何修复。编译时,我收到一条错误消息

我正在运行最新版本的 Arch Linux,如果它有任何用处的话。另外,这是我要编译的应用程序。

更新信息:如果我链接 libboost_signals 库,则会收到以下控制台输出。

0 投票
1 回答
218 浏览

c++ - 为什么我编辑的 WtWithQt 示例会崩溃?

我正在开发一个应用程序,使用 Qt 作为主逻辑,使用 Wt 作为用户界面。

但是我遇到了一个我无法解决的问题。我已将其应用于 wtwithqt 示例。

我只更改了“passGreet”函数以异步调用信号而不是直接调用。

应用程序此时崩溃。我真的不明白为什么。

编辑:实际上它在编辑 Wt 对象时确实崩溃了"HelloApplication::doGreet(const QString& qname)"

在此处输入图像描述 图片:https ://dl.dropbox.com/u/90945130/crash.png

可能与从 Qt 事件循环开始的动作起源有关?

这是代码。

其余未更改的代码在这里: http: //pastebin.com/fih6P2eH

提前感谢您的帮助!

0 投票
1 回答
566 浏览

c++ - WT 小部件未在 boost 线程中更新

我遇到了一个有趣的 WT 问题,我已经解决了,但我不明白为什么我的解决方案解决了这个问题。我已经翻阅了小部件的 WT 文档并且到目前为止空手而归,所以也许对 WT 有更多了解的人可以在这里帮助我。

无论如何,问题在于提升线程中的 WComboBox 小部件在单击并更改其选择时未更新其数据。

我在一个类中创建了一个提升线程

然后我用数据填充组合框,让我们使用“foo”和“goya”作为 2 个条目。我为线程创建了一个函数,并在其中放入了一个循环。

在不改变组合框的初始选择的情况下,上面的代码总是进入 foo if 语句,这是意料之中的。但是,当我将 _combo_box 的选择更改为“goya”时,上面的代码仍然输入“foo” if 语句,这是非常意外的。进一步调查此事,例如在 if 语句之前打印出组合框的当前索引显示它始终为 0,并且在选择更改时永远不会增加。

我修复它的方法是将组合框 changed() 信号连接到我添加到类中的无操作函数。

通过在选择更改时添加该函数调用,“foo”和“goya” if 语句正常工作,并在 if 语句确认索引现在正在更改之前打印出组合框的当前索引。

为什么将 changed() 信号连接到无操作函数可以解决这种情况?我确信这里没有看到更大的问题:(任何帮助将不胜感激。