QDockWidget在启动时自动隐藏
QDockWidget autohide on start
我有一个QTDesigner对话框与QDockWidget作为主要小部件。当我将它停靠到主窗口并显示对话框时,自动隐藏自己,但允许我使用鼠标显示/隐藏它。我希望在默认情况下保持可见。如果我用鼠标调整它的大小,大约是屏幕大小的2/3,然后关闭对话框,稍后再显示它,它会像我想要的那样工作,即使我关闭了最后一个大尺寸的应用程序。
这些是我的类:
/** created automatically by QT compiler */
class Ui_OfsIndSelAttribBase
{
public:
QWidget *dockWidgetContents;
QVBoxLayout *verticalLayout_10;
QGroupBox *_p_gB_Filters;
QVBoxLayout *verticalLayout_9;
QVBoxLayout *verticalLayout_4;
....
void setupUi(QDockWidget *dockWidget)
{
if (dockWidget->objectName().isEmpty())
dockWidget->setObjectName(QString::fromUtf8("dockWidget"));
dockWidget->resize(352, 789);
dockWidget->setFloating(false);
dockWidgetContents = new QWidget();
dockWidgetContents->setObjectName(QString::fromUtf8("dockWidgetContents"));
...
}
};
我的对话框类树:
class FCSDockableInputDataQt: public QDockWidget
{
Q_OBJECT
public:
/** GetMainWindow() returns a valid QT main window */
FCSDockableInputDataQt(Qt::DockWidgetArea do = Qt::BottomDockWidgetArea,
Qt::WFlags f=0) :
QDockWidget("MyDialog", GetMainWindow(), f)
{
....
}
};
/** this is my dialog management class */
class OfsIndSelAttribQt : public FCSDockableInputDataQt,
public Ui::OfsIndSelAttribBase
{
Q_OBJECT
OfsIndSelAttribQt() :
FCSDockableInputDataQt(Qt::RightDockWidgetArea)
{
setupUi(this);
setAllowedAreas(Qt::LeftDockWidgetArea | Qt::RightDockWidgetArea);
setFloating(false);
....
}
};
您想使QDockWidget隐藏时,窗口被创建,但然后切换显示或隐藏当你点击一个按钮的地方,或类似的东西?在setupUi方法中调用QDockWidget::hide(),然后在某处添加一个小切换按钮,当QDockWidget被切换时,该按钮会向它发送一个信号,告诉它是显示还是隐藏。
将q应用程序信号aboutToQuit()连接到dockwidget的SLOT,说onQuit:
QObject::connect(QApplication(), SIGNAL(aboutToQuit()), this, SLOT(onQuit()));
SLOT应该看起来像:
void CustomDock::onQuit()
{
setVisible(false);
}
。当关闭应用程序时,dock是隐藏的。如果你再次启动你的应用程序,QT将恢复CustomDock状态为隐藏
相关文章:
- 如何创建一个空的全局类并在启动时实例化它
- 这是我尝试让用户将值输入到数组中.然后将其隐藏为大量的星号
- 即使我读取了所有内容,在FIFO上打开的QSocketNotifier也会一直启动
- 结构和双指针隐藏在其他结构中,多层混淆
- 使用 std::string () const 函数启动线程或未来
- 如何修复valgrind启动时的致命错误(与libc6-dbg和libc6-dbg:i386连接)
- 在 cpp 文件中隐藏采用模板参数引用的方法
- 将向量作为类>(值)<向量启动和向量<类>[值]有什么区别
- 如何创建线程序列以按照启动顺序执行任务?
- WINAPI 注册应用程序重新启动时不清除打开的套接字
- 在挂钩启动新线程时解除挂钩进程
- 如何在启动时在Qt应用程序中隐藏鼠标指针
- 在C++中启动进程时隐藏命令提示符
- 如何在应用程序启动后隐藏其命令提示符
- 如何在启动时隐藏鼠标指针
- C++ 如何在启动时隐藏控制台窗口
- 不可能在应用程序启动后立即使用ShowCursor(FALSE)隐藏鼠标光标
- QDockWidget在启动时自动隐藏
- Qt GUI应用程序与控制台输出-隐藏控制台正常启动上的Windows
- 在Qt中隐藏和重新启动相同的QApplication实例