【问题标题】:is there a way to minimize/hide and show the QListWidget in my UI有没有办法在我的 UI 中最小化/隐藏和显示 QListWidget
【发布时间】:2020-07-09 12:46:29
【问题描述】:

这是我的 UI,在右侧我有一个带有 3 个项目的 QListWidget,当我单击这些项目时,必须填充 UI 左侧的相应条目,无论如何右侧的 QListwidget,我做不希望它始终可见,我希望 QListwidget 通常最小化并在单击“显示选项>>”按钮后显示,当我再次单击它时,它应该再次最小化,

有什么方法可以使用 QT 设计器或代码来完成此操作,我需要使用哪些小部件或工具来完成此操作?

【问题讨论】:

    标签: c++ qt qlistwidget


    【解决方案1】:

    您可以将可见性设置为 false,这将隐藏 listView

    ui->myList.setVisible(false);
    

    也许定义 1 个插槽,采用 bool var 将可见性设置为 true 或 false。

    然后对按钮单击的插槽进行编码,以便调用隐藏/显示列表的插槽!

    【讨论】:

    • 谢谢,我现在可以使用布尔变量来做可见的、不可见的部分,这完美地隐藏了 qlistwidget,但有点无能如何使用 setfixedwidth 函数来操纵对话框宽度,这是我的代码
    • 在我隐藏 QListwidget 后,QDialog 框的大小保持不变,并且在 QListWidget 的地方有一个空白空间。这就是为什么我也想更改 QDialogbox 的大小。
    【解决方案2】:

    将插槽连接到QPushButton::clicked()“显示选项>>”按钮并在您的列表小部件上使用setVisible(true)。 将插槽连接到QListWidget::itemClicked(QListWidgetItem *item)。这是您可以处理用户单击的项目并填充数据的地方。然后,再次使用setVisible(false) 函数隐藏列表。

    如果您希望根据列表外观设置表单的宽度,请使用表单的setFixedWidth() 来扩展或缩小它。使用列表的width() 函数,获取其宽度并从表单的width() 中添加或减去它

    【讨论】:

    • 好的,谢谢,我现在可以使用布尔变量来做可见的、不可见的部分,这完美地隐藏了 qlistwidget,但是有点不知道如何使用 setfixedwidth 函数来操纵对话框的宽度,这是我的代码
    • void ValidateTextComd::on_showbutton_clicked() { showing = !showing; if (showing == false) { ui.elements_listwidget->setVisible(false); } else ui.elements_listwidget->setVisible(true); }
    • 嘿。很简单: void ValidateTextComd::on_showbutton_clicked() {ui.elements_listwidget->setVisible(!ui.elements_listwidget->isVisible()); }
    • 我让那个部分工作了,当我点击那个按钮时 QListwidget 隐藏了,但是我需要帮助我在点击按钮时如何操纵我的 QDialog 的大小,因为截至目前当我点击showbutton qlistwidget 隐藏了,但是 qlistwidget 曾经驻留有一个灰色区域(空白空间),我想删除这个空间,因此使用 setfixedwidth 使我的 QDialog 框更小,我该怎么做?
    • 终于搞定了,原来是`window()->setFixedWidth(500);`
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-10-13
    • 1970-01-01
    • 2016-05-29
    • 2021-09-02
    • 1970-01-01
    • 2010-10-23
    相关资源
    最近更新 更多