【发布时间】:2011-09-02 09:25:29
【问题描述】:
我有QDialog,它是用QDesigner 精心设计的,我在网上看到我可以用这样的代码添加QStatusBar:
#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 类的小部件?我不知道……
在这种情况下我该怎么办?我可以实现新的QStatusbar吗?
谢谢
【问题讨论】: