我正在嘗試爲我的第一個gtk應用程序獲取正確的結構,這將模擬棋盤遊戲。我有一個命令行參數,它是一個文件名。 我將在我的gtk應用程序中讀取此文件。 如何訪問main()之外的參數?C++ gtkmm 3.0如何訪問argc,argv
這是我的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因爲監聽事件。 Board類將在ExampleWindow構造函數中實例化,該構造函數將保存我的數據結構。 Board類的構造函數接受一個文件名作爲其構造函數的參數,讀取一個描述文件,並根據文件輸入設置成員變量。
我花了幾個小時,並找到文件稀疏和困惑。我正在使用gtk 3.0,並將我的程序從繪圖細線示例中刪除。 https://developer.gnome.org/gtkmm-tutorial/3.4/sec-cairo-drawing-lines.html.en
任何幫助初學者在gtkmm將不勝感激。
的可能重複的[gtkmm的3:使用的Gtk ::應用解析命令行(http://stackoverflow.com/questions/13852421/gtkmm-3-parse-command -line-with-gtkapplication) – 2013-04-09 18:23:36
這種「可能的」重複是沒有用的。我試圖在打開gtk窗口之後獲得命令行參數,而不是之前。他們還說「更新的Gtk :: Application」可能不支持命令行解析。有沒有辦法將命令行參數的值傳遞給ExampleWIndow構造函數?我試圖把它作爲構造函數的參數,但得到各種錯誤。 – 2013-04-09 18:39:47