相关文章推荐
阳刚的饭盒  ·  Effective ...·  2 年前    · 

在这里插入图片描述
之前有用QScrollArea 设置一个滑动条的窗口,但发现设置了半天没用,发现设置到了QScrollArea 上,而不是里面的QWidget上。

在这里插入图片描述
上述红框不放呢画错的地方原本写错成 model_stack_scrollwidget,这个是QScrollArea ,这也归咎于自己没有处理好命名导致发生的这种问题。

也可以去直接QTdemo
实际看一下效果代码图即可:

	//创建一个子窗口,这个子窗口交给滚动区域
	QWidget* pSubWidget = new QWidget();
	//在窗口(100,100)位置显示150*150大小的滚动区域
	QScrollArea* pScrollArea = new QScrollArea(this);
	pScrollArea->setFixedSize(150, 150);
	pScrollArea->setWidgetResizable(true);
	pScrollArea->setWidget(pSubWidget);
	pScrollArea->move(QPoint(100, 100));
	//给子窗口设置一个垂直排版对象,动态添加按钮进去,子窗口会自动调整大小
	QVBoxLayout* pSubLayout = new QVBoxLayout(this);
	pSubWidget->setLayout(pSubLayout);
	for (auto i = 0; i < 10; ++i)
		pSubLayout->addWidget(new QPushButton(QString("test%1").arg(i), this));
				
最近在做一个项目的时候,需要做一个log监视框。我用的是QTextEdit来显示我的log信息,但是发现每次我追加我的内容后QTextEdit中的滚动没有自动下拉,每次需要自己往下拉,很是麻烦。找了一些资料实现了。今天来总结一下,有不足的地方,麻烦大家指出,一起共同进步! 1 创建QTextEdit对象 void CustomClass::initTextEdit() m_pText
QScrollArea滚动区域 滚动区域用于显示框架内子窗口小部件的内容。 如果窗口小部件超出框架的大小,则视图可以提供滚动,以便可以查看子窗口小部件的整个区域。 子窗口小部件必须使用setWidget()指定。 alignment: 属性保存滚动区域的小部件的对齐方式 Qt::Alignmentalignment() const voidsetAlignment(Qt::Alignment) 有效的对齐方式是以下标志的组合: Qt::AlignLe...
Qt中,可以使用QScrollArea类来创建一个带有滚动的窗口部件。要设置滚动,可以使用setVerticalScrollBarPolicy()和setHorizontalScrollBarPolicy()方法来设置垂直和水平滚动的显示策略。例如,以下代码将创建一个QScrollArea对象,并设置垂直滚动始终可见,水平滚动从不可见: QScrollArea *scrollArea = new QScrollArea; scrollArea->setVerticalScrollBarPolicy(Qt::ScrollBarAlwaysOn); scrollArea->setHorizontalScrollBarPolicy(Qt::ScrollBarAlwaysOff); 除了设置滚动的显示策略外,还可以使用QScrollBar类的方法来设置滚动的其他属性,例如范围、步长、当前值等。可以使用setWidget()方法将要滚动的窗口部件设置为QScrollArea的子部件。例如,以下代码将创建一个QLabel对象,并将其设置为QScrollArea的子部件: QLabel *label = new QLabel("This is a long text that needs to be scrolled."); scrollArea->setWidget(label);