在设计器的Qt 5中隐藏/显示DockWidgets
Hiding/Showing DockWidgets in Qt 5 in Designer
我正在使用Qt开发一个应用程序,这是一个我根本不熟悉的框架,我正在尝试隐藏和显示我使用设计器创建的DockWidget。
与许多关于在Qt中隐藏和显示dockwidget的看似相似的问题不同,我完全使用Qt Designer制作了我的widget,所以我不知道如何链接我在这些问题的答案中找到的大部分代码。从本质上讲,我在我的 *.cpp 文件中没有提到 dockwidget,但我在我的 .ui 文件中提到了
。如何将这个设计器创建的 dockwidget 合并到我的代码中,使其可见和不可见?
对不起,这样的菜鸟问题。
谢谢埃里普
Wenn 您构建应用程序,qmake
从您的 UI 文件生成h
。例如,ui_dlg_about.ui
会自动转换为ui_dlg_about.h
。通常在文件夹中调用生成文件或类似的东西。然后,您可以创建一个可自定义的对话框类,通过创建以下内容在应用程序中使用:
dlg_about.h
#include "ui_dlg_about.h"
#include <QDialog>
class dlg_about : public QDialog, protected Ui::ui_dlg_about
{
Q_OBJECT
public:
dlg_about(QWidget* = 0);
public slots:
void toggle_dockwidget();
};
dlg_about.cpp
#include "dlg_about.h"
dlg_about::dlg_about(QWidget* parent) : QDialog(parent)
{
setupUi(this);
QObject::connect(this->somebutton, SIGNAL(clicked()), this, SLOT(toggle_dockwidget()));
}
void dlg_about::toggle_dockwidget()
{
if(something){
this->dockwidget->setVisible(true);
}else{
this->dockwidget->setVisible(false);
}
}
也可以使对话不是从ui_dlg_about
派生的,而是将其作为成员派生的:
dlg_about.h
#include "ui_dlg_about.h"
#include <QDialog>
class dlg_about : public QDialog
{
Q_OBJECT
public:
dlg_about(QWidget* = 0);
public slots:
void toggle_dockwidget();
protected:
Ui::ui_dlg_about ui;
};
dlg_about.cpp
#include "dlg_about.h"
dlg_about::dlg_about(QWidget* parent) : QDialog(parent)
{
setupUi(this->ui);
QObject::connect(this->ui.somebutton, SIGNAL(clicked()), this, SLOT(toggle_dockwidget()));
}
....
相关文章:
- 在主窗口之前显示登录对话框并隐藏主窗口按钮
- 我正在调试这个C++程序.编译器不再显示语法错误,但存在隐藏的逻辑错误
- 隐藏、显示、添加或删除功能区中的按钮?
- 如何隐藏最大化和最小化按钮并在qml应用程序窗口中显示关闭按钮?
- 显示和隐藏Windows 10屏幕键盘(osk.exe)时遇到问题
- 隐藏自定义应用程序窗口,但应在任务栏上显示应用程序图标(不是作为托盘图标)
- 如何根据用户输入在OpenGL中显示/隐藏点
- 如何隐藏显示HTML5标记的Web浏览器控件(IE)的滚动条和窗口边框
- C++ Windows CreateChildProcess - 隐藏/不显示子进程的控制台窗口
- C++(按下按钮1,显示位图"P",2秒,隐藏位图"P")
- QStateMachine如何在不同的QState中显示和隐藏QGraphicsView和QObject
- 如何使用流显示任何文件中的特殊和隐藏字符
- 隐藏/显示所有窗口并恢复 Z 顺序
- 图像在隐藏时消失,然后重新显示ListView
- QT/C++,OS X:退出应用程序时可选择隐藏(),以便应用程序继续运行,并在单击dock中的图标后再次显示
- 如何在Qt中从对话框窗口隐藏主窗口后显示主窗口
- 无论如何可以隐藏/显示所有评论块
- 在设计器的Qt 5中隐藏/显示DockWidgets
- 我在使用 c++ 中使用隐藏/显示和附加函数时遇到问题
- Q自定义-隐藏/显示所选图形