滚动条Qt,无法滚动
scrollbar Qt, can't scroll
谁能告诉我为什么我可以看到滚动条从我的QTableView
,但不能使用它?有人知道吗?
View::View()
{
}
void View::init()
{
// add model and Table
myModel= new Model();
QTableView *myView=new QTableView( this );
myView->setModel(myModel);
QWidget *mywidget= new QWidget(this);
// add buttons and labels
QPushButton* btnaddtotable = new QPushButton( "Add to Table",this);
btnaddtotable->setGeometry(50,20,100,40);
QPushButton* btnFile = new QPushButton( "Open file",this);
btnFile->setGeometry(50,20,100,40);
QPushButton* btnOpenFile = new QPushButton( "Search file",this);
btnFile->setGeometry(50,20,100,40);
btnOpenFile->setGeometry(50,20,100,40);
// connections
QObject::connect ( btnaddtotable, SIGNAL ( clicked() ), this , SLOT(pushButtonClicked())) ;
QObject::connect ( btnFile, SIGNAL ( clicked() ), this , SLOT(FileButtonClicked())) ;
QObject::connect ( btnOpenFile, SIGNAL ( clicked() ), this , SLOT(OpenFileButtonClicked()));
// named the buttons and labels
myView->setObjectName(QStringLiteral("Table"));
myView->setGeometry(QRect(20, 100, 361, 191));
txtname = new QLineEdit(mywidget);
txtname->setObjectName(QStringLiteral("txtname"));
txtname->setGeometry(QRect(20, 30, 151, 31));
txtvalue = new QLineEdit(mywidget);
txtvalue->setObjectName(QStringLiteral("textEdit"));
txtvalue->setGeometry(QRect(230, 30, 151, 31));
label = new QLabel ("Name: ", mywidget );
label->setObjectName(QStringLiteral("label"));
label->setGeometry(QRect(20, 10, 61, 20));
label_2 = new QLabel ("Value ", mywidget );
label_2->setObjectName(QStringLiteral("label_2"));
label_2->setGeometry(QRect(235, 10, 51, 20));
QLabel *label3 = new QLabel ("DateiPfad: ", mywidget );
label3->setObjectName(QStringLiteral("label"));
label3->setGeometry(QRect(20, 305, 61, 20));
txtPfad = new QLineEdit(mywidget);
txtPfad->setObjectName(QStringLiteral("txtPfad"));
txtPfad->setGeometry(QRect(80, 300, 300, 31));
btnaddtotable->setObjectName(QStringLiteral("pushButton"));
btnaddtotable->setGeometry(QRect(240, 70, 75, 23));
btnFile->setGeometry(QRect(160, 70, 75, 23));
btnOpenFile->setGeometry(QRect(80, 70, 75, 23));
// searching the strings
this->setGeometry(500,500,400,350);
// for sorting
sort_filter = new QSortFilterProxyModel(this);
sort_filter->setSourceModel(myModel);
// sort the first column
sort_filter->sort(0);
myView->setColumnWidth(0,179);
myView->setColumnWidth(1,180);
myView->setModel (sort_filter);
// to check if exists
sort_filter->setSourceModel(myModel);
//myView->setCornerButtonEnabled(true);
//myView->setVerticalScrollBarPolicy(Qt::ScrollBarAlwaysOn);
myView->setAutoScroll(true);
myView->setAutoScrollMargin(20);
myView->setHorizontalScrollMode(QAbstractItemView::ScrollPerItem);
}
我忘了什么吗?
你有一堆相互重叠的小部件。我建议使用布局,这样你就不会遇到这样的问题。
但是主要的问题是你的QWidget *mywidget
对象。你没有为它设置几何,所以它最终覆盖了你的QTableView
。例如,如果你为它设置一个红色背景的样式表,你就会看到这样的效果。
相关文章:
- Qt:无法直接为带有子项的小部件添加滚动条
- C++ Qt如何在滚动区域添加小部件?
- QT - 如何创建具有长 int(而不是 int)步长的滚动条?
- 如何在Qt中滚动产生错觉效果?
- 如何在Qt中将文本附加到QPlainTextEdit并保持滚动条稳定?
- 如何在QT Android应用程序中解决慢速滚动
- QT设置了QplaintExtedIt的滚动区域,以匹配Anothers的滚动区域
- 如何在滚动区域中动态插入项目并在QT中加载滚动条
- 可滚动的背景,上面有可调整大小的Qt小部件
- Qt GUI C++ (Android) - 如何在不触摸滚动条的情况下在滚动区域之外滚动
- QT QPixmap 无法在 QScrollArea 中滚动
- 如何在Qt中添加项目时保持在同一滚动位置
- Qt-无法移动QScrollArea中的滚动条
- 在Qt上滚动标签列表
- 需要示例代码才能使用QT中的滚动条在固定大小框中显示多个小部件(小部件大小等于框)
- 在重新调整大小时停止Qt QGraphicsView滚动
- 如何在Qt中将滚动条添加到网格布局
- Qt:元素可见且不遮挡(无需滚动)
- Qt - 无效使用不完整的类型 'class QScrollBar' - 为文本编辑小部件添加水平滚动条
- 在Qt中向小部件添加滚动条的最快和最佳方法