首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Qt :如何实现QDialog StatusBar

Qt :如何实现QDialog StatusBar
EN

Stack Overflow用户
提问于 2011-05-26 16:08:43
回答 2查看 13.7K关注 0票数 6

我有大量使用QDesigner设计的QDialog,我在网上看到我可以用这样的代码添加QStatusBar

代码语言:javascript
复制
#include <QDialog>
#include <QStatusBar>
#include <QLayout>
#include <QApplication>
#include <QTextEdit>
#include <QStatusTipEvent>

class Dialog : public QDialog {
public:
Dialog() : QDialog(){
QLayout *l = new QVBoxLayout(this);
QTextEdit *te = new QTextEdit;
te->setStatusTip("XXX");
l->addWidget(te);
bar = new QStatusBar;
l->addWidget(bar);
l->setMargin(0);
l->setSpacing(0);
}
private:
QStatusBar *bar;
protected:
bool event(QEvent *e){
if(e->type()==QEvent::StatusTip){
QStatusTipEvent *ev = (QStatusTipEvent*)e;
bar->showMessage(ev->tip());
return true;
}
return QDialog::event(e);
}
};

int main(int argc, char **argv){
QApplication app(argc, argv);
Dialog dlg;
return dlg.exec();
}

它甚至在我的情况下都不起作用..也许QDialog已经有很少的层来容纳小部件了。

我的问题是,我能不能在QDesigner中使用QStatusbar或者以某种方式推广保持palceholder类的widget?我不知道…

在这种情况下,我该怎么办?我可以实现新的QStatusbar

谢谢

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2011-05-27 03:13:07

我假设当你说它不工作时,你在运行时看不到状态栏。

我看不到任何方法可以完全在设计器中做到这一点。设计师当然会抵制将某些东西推广到QStatusBar的想法。我想你可以通过将QStatusBar子类化,然后将QWidget提升到你的子类来欺骗设计者。

但我认为我们现在还不需要走那条路。我认为对上面的代码进行一些调整应该会有所帮助。

在设计器中,在对话框的底部添加一个布局,不管是哪种布局。我把我的命名为'StatusBarLayout‘。您可以看到布局(底部挤压的红色方框)。我删除了对话框中的底部页边距,以便状态栏在底部齐平。

现在删除上面代码中关于布局l的所有内容,只需执行以下操作:

代码语言:javascript
复制
bar = new QStatusBar(this);
pUI->StatusBarLayout->addWidget(bar);
pUI->textEdit->setStatusTip("XXX");

textEdit是在设计器中添加的东西。现在,当您运行它时,您应该看到以下内容:

我希望这对你有帮助

编辑:

您还可以在设计器中为各种小部件设置状态提示,因此除非您愿意,否则不需要在代码中执行此操作。

票数 11
EN

Stack Overflow用户

发布于 2011-05-26 16:24:51

尝试像这样添加一个QStatusBar:

代码语言:javascript
复制
QDialog dialog;
QLayout* layoutWidget = new QVBoxLayout(&dialog);
layoutWidget ->addWidget(new QTextEdit);
QStatusBar* statusBar = new QStatusBar;
layoutWidget ->addWidget(statusBar );
票数 5
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/6135514

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档