我想对屏幕旋转做一些更改,应该从这里处理应该处理此类事件的方法的代码
编辑:我有一个滚动区域,它的旋转边框如何调整其大小?所以它可以适合屏幕plz检查下面的事件处理程序 这是我的整个代码:
//FORM1.CPP
#include "form1.h"
#include "ui_form1.h"
#include "form.h"
#include "ui_form.h"
#include <QResizeEvent>
Form1::Form1(QWidget *parent) :
QWidget(parent),
ui(new Ui::Form1)
{
ui->setupUi(this);
}
Form1::~Form1()
{
delete ui;
}
//the method that is supposed to handle such event
void Form1::resizeEvent (QResizeEvent* event)
{
QWidget::resizeEvent(event);
ui->textBrowser->setText("karim");
}
我收到了这个错误:
\Users\user\Desktop\karim\Qt\Project\form1.cpp:31: error: 'QMyWidget' has not been declared
请注意我没有做任何其他事情这是我的整个代码...... 你能告诉我什么是错的或者没有得到什么?
请具体我会很感激...
答案 0 :(得分:2)
您必须创建广告位
connect(qApp->desktop(), SIGNAL(resized(int)), this, SLOT(onResized(int)));
并实现它:
void Widget::onResized(int)
{
QDesktopWidget* screen = qApp->desktop();
QSize displaySize;
if (screen) {
displaySize = screen->screenGeometry().size();
if (displaySize != this->size()) {
this->resize(displaySize);
}
}
}
答案 1 :(得分:0)
除了以下行之外,我没有看到您对QMyWidget
课程的任何引用。可能是我错过了什么。但是,如果您已在其他地方定义了QMyWidget
类,则至少需要包含标题。
void QMyWidget::resizeEvent(QResizeEvent* event)
{
ui->labelk->setText("blabla");
}
可能是你的意思而不是上述内容:
void Form1::resizeEvent(QResizeEvent* event)
{
ui->labelk->setText("blabla");
}
更新评论:您可以尝试这样做。
void Form1::resizeEvent(QResizeEvent* event)
{
// call the base class for the default behavior
QWidget::resizeEvent(event);
// Add your custom changes here
ui->labelk->setText("blabla");
}