我正在尝试为我的第一个 gtk 应用程序获得正确的结构,该应用程序将模拟棋盘游戏。我有一个命令行参数,它是一个文件名。我将在我的 gtk 应用程序中阅读此文件。如何访问 main() 之外的参数?
这是我的 main() 例程。
int main(int argc, char* argv[]) {
Glib::RefPtr<Gtk::Application> app = Gtk::Application::create(argc, argv, "org.gtkmm.example");
ExampleWindow window;
return app->run(window);
}
这是 ExampleWindow 的构造函数:
ExampleWindow::ExampleWindow() {
Board bd = Board(argv[1]);
...
我得到的错误是:
In constructor 'ExampleWindow::ExampleWindow()':
error: 'argv' was not declared in this scope
我认为我的大部分逻辑都将在 ExampleWindow 中,因为它会监听事件。将在 ExampleWindow 构造函数中实例化一个 Board 类,该构造函数将保存我的数据结构。Board 类构造函数将文件名作为其构造函数的参数,读取描述文件,并根据文件输入设置成员变量。
我在这上面花了几个小时,发现文档稀疏而混乱。我正在使用 gtk 3.0 并将我的程序基于绘制细线示例。 https://developer.gnome.org/gtkmm-tutorial/3.4/sec-cairo-drawing-lines.html.en
对 gtkmm 初学者的任何帮助将不胜感激。