gpt4 book ai didi

c++ - 弹出窗口。如何显示全文内容和另外两个问题

转载 作者:太空宇宙 更新时间:2023-11-04 12:11:18 24 4
gpt4 key购买 nike

我创建了一个这样的弹出窗口:

QFileInfo FileA = "AAA";  
QFileInfo FileB = "BBB";

if (fileA.exists() == false & (fileB.exists() == false))
{
QFrame* PopupWin = new QFrame(this, Qt::Popup | Qt::Window );
PopupWin->setGeometry(450,450, 400, 200);
PopupWin->setLineWidth ( 3 );
PopupWin->setMidLineWidth ( 1 );
PopupWin->setFrameStyle ( QFrame::Box | QFrame::Raised);
QLabel *message = new QLabel(PopupWin);
message->setAlignment(Qt::AlignHCenter | Qt::AlignVCenter);
message->setGeometry(100,50, 200, 100);
message->setText("blaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"
"bluuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuu"
"bliiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii"
"bleeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee"
"bloooooooooooooooooooooooooooooooooooooooooooooo");
PopupProzess->show();

}

我有三个问题:

  • 当窗口弹出时,我看不到整个文本,只能看到其中的一部分标签的第一行。我怎样才能显示整个文本?
  • 点击时框架关闭屏幕上的任何地方。如何禁用此“随处单击关闭”并创建一个按钮或一种十字形来关闭框架/窗口?
  • 如何使文本适合标签并使标签适合进入框架?

我在 Qt Doc 中搜索过,也用 google 搜索过,但没有找到解决方案。问候

最佳答案

你为什么要创建一个QFrame?你想要的是 QDialog .

  • 使用QtDesigner 来设计您的对话框
  • 根据你设计的对话框实现一个继承自QDialog的类
  • 使用exec 以模态方式显示它。

这样您的代码将更加清晰易读。

QDialog* pMyDialog = new MyDialog(this); // you have to delete it later...
if (fileA.exists() == false && (fileB.exists() == false))
{
pMyDialog->exec();
}

也没有理由硬编码 UI 元素的几何形状。这就是 QtDesigner 的用途。

关于标签,因为 spbots 已经回答你必须设置 wordWrap 属性。

关于c++ - 弹出窗口。如何显示全文内容和另外两个问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9675435/

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