Qt C++ MainWindow::setMenuWidget not working
Qt C++ MainWindow::setMenuWidget not working
我正在尝试添加一个自定义小部件与MainWindow::setMenuWidget的帮助。
但是这不能正常工作。
代码如下:
MainWindow构造函数的一部分:
MyMenuBar *menu = new MyMenuBar();
connect(menu,SIGNAL(Close_Window()),this,SLOT(close()));
connect(menu,SIGNAL(Minimized_Window()),this,SLOT(hide()));
menu->setWindowFlags(Qt::FramelessWindowHint);
this->setMenuWidget(menu);
menu->show();
所以,它编译成功,启动,但我的小部件没有出现。我检查过
this->menuWidget();
不为空
如果我像这样修改代码
MyMenuBar *menu = new MyMenuBar();
connect(menu,SIGNAL(Close_Window()),this,SLOT(close()));
connect(menu,SIGNAL(Minimized_Window()),this,SLOT(hide()));
menu->setWindowFlags(Qt::FramelessWindowHint);
//this->setMenuWidget(menu);
menu->show();
然后我的小部件显示正确,但它的行为像一个单独的窗口。
有人能帮我解决那个问题吗?谢谢。@Ankur谢谢老兄。
它可以工作,但是当我设置父元素时,我不需要使用
this->setMenuWidget(menu)
所以,最后的代码看起来像:
MyMenuBar *menu = new MyMenuBar(this);
connect(menu,SIGNAL(Close_Window()),this,SLOT(close()));
connect(menu,SIGNAL(Minimized_Window()),this,SLOT(hide()));
menu->setWindowFlags(Qt::FramelessWindowHint);
menu->show();
相关文章:
- GDB - strcmp not working: __strcmp_sse2_unaligned
- QT qScriptConnect is not working
- QDesktopServices::openUrl() not working Qt
- C++ std::set ordering not working with customer class*
- C++ SetWindowText not working
- visual studio 2012 c++ hello world - iostream not working
- getGravity not working?
- Opencv findcontours CV_RETR_EXTERNAL not working
- c++ srand() not working
- std::queue::empty() not working?
- BCB swprintf not working
- 将类型作为指向另一个类的对象的指针的泛型类-NOT WORKING
- LoadLibrary is not working
- gluUnProject not working
- C++ catch bad_alloc not working
- updatelayeredwindow not working
- OpenMP set_num_threads() is not working
- glOrtho not working
- Cuda atomicInc not working
- WinAPI DestroyWindow not working