【发布时间】:2015-06-07 11:10:13
【问题描述】:
我是 Wt 框架的新手,我只是想知道是否可以从其他网页调用 Wt 自定义小部件。我的意思是,如果我制作 Wt 应用程序,是否有人可以将其用作 api 用于使用除 Wt 或我的应用程序将成为 Wt 特定应用程序之外的任何其他框架进行开发?
【问题讨论】:
我是 Wt 框架的新手,我只是想知道是否可以从其他网页调用 Wt 自定义小部件。我的意思是,如果我制作 Wt 应用程序,是否有人可以将其用作 api 用于使用除 Wt 或我的应用程序将成为 Wt 特定应用程序之外的任何其他框架进行开发?
【问题讨论】:
Wt 有一个“widgetset”模式,在这种模式下,您可以在其他网站上显示您的 Wt 应用程序的小部件,类似于将谷歌地图小部件添加到静态网站的方式。
【讨论】:
正如 user52875 所说,您需要告诉 Wt 您的应用是 Wt::widgetSet。
这是一个示例,修改自 Wt 的 helloworld 和 homepage 示例:
#include <Wt/WServer>
#include <Wt/WText>
using namespace Wt;
class MyApp : public WApplication {
public:
MyApp(const WEnvironment& env) : WApplication(env) {
new WText("Hello", root());
}
};
WApplication *createApplication(const WEnvironment& env)
{
return new MyApp(env);
}
int main(int argc, char **argv)
{
try {
WServer server(argc, argv, WTHTTP_CONFIGURATION);
// ********** Pass 'Wt::WidgetSet' instead of 'Wt::Application' here ************
server.addEntryPoint(WidgetSet, createApplication, "/");
server.run();
} catch (Wt::WServer::Exception& e) {
std::cerr << e.what() << std::endl;
} catch (std::exception &e) {
std::cerr << "exception: " << e.what() << std::endl;
}
}
【讨论】: