上記のように、私は非常に簡単なFLTK 1.3.3アプリケーションを動かそうとしています。 しかし、単純なFl_Windowと1 Fl_Buttonであっても、何も動作していないようです。誰も助けることができますか?Fl_Windowサブクラスが機能しない
class MainEditorWindow : public Fl_Window
{
public:
MainEditorWindow(int _width, int _height, std::string _title);
~MainEditorWindow();
virtual void draw();
virtual int handle(int _event);
private:
Fl_Button* m_btnExit;
};
そして、ここで実装
MainEditorWindow::~MainEditorWindow()
{
}
int MainEditorWindow::handle(int _event)
{
return 1;
}
void MainEditorWindow::draw()
{
m_btnExit->redraw();
}
MainEditorWindow::MainEditorWindow(int _width, int _height, std::string _title) : Fl_Window(_width, _height, _title.c_str())
{
this->begin();
m_btnExit = new Fl_Button(0, 0, 40, 40, "EXIT");
m_btnExit->color(FL_RED);
this->color(FL_WHITE);
this->end();
}
である。しかし、単純にこのようなアプリケーションの実行時に:
int main(int argc, char** argv)
{
MainEditorWindow* mw = new MainEditorWindow(800, 600, "SHIP Editor");
mw->show(argc,argv);
return Fl::run();
}
をウィンドウは罰金、そのサイズ変更可能な可動など、draw()
現れ - 機能と呼ばれています。しかしウィンドウ自体はただです。これは何も表示しません。特にFl_Button
は表示されません。誰が私になぜこれが起こるのか教えていただけますか?私が知る限り、私のコードには特に何も間違いがないはずです。
あなたは、いくつかのウィンドウにボタンを追加する必要はありません。方法? –
@Hedanitoは 'begin()'と 'and()'の間でウィジェットを作成するのとまったく同じです。 – calcyss
私はスレッドの危険性を想像することができます:| | –