gpt4 book ai didi

python - QT中创建 float 框UI的方法

转载 作者:太空宇宙 更新时间:2023-11-03 11:40:38 25 4
gpt4 key购买 nike

enter image description here

“支持”气泡的作用类似于工具提示,单击按钮时它会出现在按钮旁边。

这个气泡是如何产生的?它允许将小部件放置在自身内部。这是一个单独的小部件还是某种 float 布局?我是 QT 的新手,不知道如何解决这个问题,要使用哪个小部件来实现这个目标?

最佳答案

TL;DR:一个简单的 QWidget,按需显示,并以编程方式放置在目标按钮旁边。

其他选项:

  • QMenu 和相关类可用于创建您自己的菜单,但是自定义起来会很痛苦,而且可能不够灵活以适应您的情况
  • QDialog 是您想要一个可以四处拖动的模态或独立窗口以等待用户输入的完美匹配。但是你的是静态的而不是模态的
  • QWidget 是 Qt 中所有小部件的基类,完全是多用途的,可以用作其他小部件的容器。 QLayout 然后为您的内容提供结构(对齐、调整大小……)

如何

  • (可选)在 Qt Designer 中创建小部件的内容
  • 在创建用户界面时实例化对话框
  • 连接到按钮的“点击”信号

    connect(mybutton, &QPushButton::clicked, this, &MainWindow::showXButtonTooltip);
  • 放置工具提示并显示

    void MainWindow::showXButtonTooltip()
    {
    // Get your button position relative to the common
    // parent with QWidget::pos() and mapToParent.
    // Or just use a fixed value...
    QPoint position;
    m_tooltipWidget.move(position.x, position.y);
    m_tooltipWidget.show();
    }

注意不要将工具箱放在布局中,否则您将无法“移动”它,因为这是布局的职责。

关于python - QT中创建 float 框UI的方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50224587/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com