#include #include #include #include #include #include #include /*class View : public QAbstractItemView { Q_OBJECT public: explicit View(QWidget *parent = 0): QAbstractItemView(parent){ Q_ASSERT(viewport()); viewport()->setAttribute(Qt::WA_StaticContents,true); } ~View(){ } QRect visualRect(const QModelIndex &) const{ return QRect();} void scrollTo(const QModelIndex &, ScrollHint ) {} QModelIndex indexAt(const QPoint &) const { return QModelIndex();} QModelIndex moveCursor(CursorAction , Qt::KeyboardModifiers ) { return QModelIndex();} int horizontalOffset() const{ return 0;} int verticalOffset() const { return 0;} bool isIndexHidden(const QModelIndex &) const { return true;} void setSelection(const QRect &, QItemSelectionModel::SelectionFlags ) {} QRegion visualRegionForSelection(const QItemSelection &) const { return QRegion();} };*/ class View: public QWidget { Q_OBJECT public: explicit View(QWidget *parent = 0): QWidget(parent){ setAttribute(Qt::WA_StaticContents,true); } }; class MainWindow: public QMainWindow { Q_OBJECT public: MainWindow(){ QDockWidget *dock=new QDockWidget(this); { view=new View(dock); dock->setWidget(view); } dock->setFloating(true); QTimer::singleShot(1000,this,SLOT(timeout())); } public slots: void timeout() { QDialog d; QTimer::singleShot(1000,&d,SLOT(accept())); d.exec(); Q_ASSERT(view); delete view; } protected: View *view; }; #include "main.moc" int main(int argc, char *argv[]) { QApplication a(argc, argv); MainWindow *w=new MainWindow(); w->show(); return a.exec(); }