c++ - 如何在 Qt 中修复 Popover 消息的大小?
问题描述
我对弹出消息有一个奇怪的问题。我有一个自定义的小部件,可以通过单击这样的信息按钮来作为弹出信息消息:
void SystemConfigPackageAuthorizationWidget::onReceivingAgenciesInfoButtonClicked()
{
QString bodyText = tr("Display of Receiving Agency packages with enable/disable status for selected user type.");
PopOver::showText(PopOver::BottomRightPointUp, ui->ReceivingAgenciesTitle->text(), bodyText, (QToolButton*)sender());
}
问题是,如果在固定自己的大小之前连续点击按钮超过 3 次,弹出框会自行调整大小 3 次。
下面是showText()
函数:
void PopOver::showText(PopOver::PositionStyle style, const QString & title, const QString & description, QWidget *targetObject)
{
QPoint position = targetObject->mapToGlobal(QPoint(0,0));
if (PopOver::instance)
{
PopOver::instance->setText(title, description);
PopOver::instance->setPositionStyle(style);
PopOver::instance->placeTip(position, targetObject);
PopOver::instance->show();
}
else
{
qDebug() << "PopOver instance does not exist. It should be created first.";
}
}
经过调试,我发现问题出在setText()
功能上。
void PopOverPvt::setText(const QString & title, const QString & description)
{
Title->setText(title);
Description->setText(description);
resizeWindow();
}
特别是在resizeWindow()
:
void PopOverPvt::resizeWindow(void)
{
Title->adjustSize();
Description->adjustSize();
VideoWidget->adjustSize();
VideoFrame->adjustSize();
TextFrame->adjustSize();
box->adjustSize();
adjustSize();
}
任何帮助将不胜感激,请。
解决方案
推荐阅读
- c++ - 类字符串类型的 C++ 迭代器
- r - 从函数调用返回一个包含各种元素的命名列表
- xml - 将 xml 请求转换为具有嵌套标签的 java pojo 类
- json - 我的数据是否更适合 CSV 导入,而不是 JSON 导入?
- android - 为什么数据没有加载到 RecyclerView MVVM?
- python-3.8 - Undefined Variable :def__init__(self)
- limit - 已达到 bintray 存储库限制,并且无法删除超过 1 年的已发布项目
- python - Python:如何使用 urllib 库查询 WHOIS 信息,无需验证码
- javascript - 动态选择产品变体,比较 2 个数组
- node.js - 我无法使用 Angular 8 从 mongoDB 加载数据