整容说文库 > 程序代码 > 教育资讯

有关QT的问题(在线waiting... ...)

来源:学生作业帮助网 编辑:整容说文库 时间:2021/01/18 21:12:06 程序代码
有关QT的问题(在线waiting... ...)程序代码
我用的是QT4.2.2版for windows  我参照QT教材上输入代码如下:
#include<qapplication.h>
#include<qpushbutton.h>
#include<qfont.h>
#include<qscrollview.h>
//从QScrollView继承
class MyMainWindow:public QScrollView
{
public:
MyMainWindow();
private:
QPushButton* b1;

};
MyMainWindow::MyMainWindow()
{
setGeometry(100,100,200,100);
b1=new QPushButton("Thiw button is not too\n big for the window!",this);
b1->setGeometry(10,10,180,80);
b1->setFont(QFont("Times",15,QFont::Bold));
//添加子控件
addChild(b1);
}
void main(int argc,char** argv)
{
QApplication a(argc,argv);
MyMainWindow w;
w.show();
a.exec();
}
通过qmake编译,但编译器提示:找不到qscrollview.h.我搜索了一下,确实没有.但发现了q3scrollview.h,我将qscrollview.h替换成q3scrollview.h,QScrollView
换成Q3ScrollView,但还是提示找不到q3scrollview.h.请大家指点下是什么原因啊?
谢啦
你用什么编译器? mingw or cl or ??察看一下你的Makefile
QScrollView
The QScrollView class has been renamed Q3ScrollView and moved to the Qt3Support library. It has been replaced by the QAbstractScrollArea and QScrollArea classes.

Note that Qt 4 in general uses the QScrollArea::widget() function where Qt 3 used QScrollView::viewport(). The rationale for this is that it is no longer possible to draw directly on a scroll area. The QScrollArea::widget() function returns the widget set on the scroll area.

QScrollView was designed to work around the 16-bit limitation on widget coordinates found on most window systems. In Qt 4, this is done transparently for all widgets, so there is no longer a need for such functionality in QScrollView. For that reason, the new QAbstractScrollArea and QScrollArea classes are much more lightweight, and concentrate on handling scroll bars.

编译器路径包含错误吧
我同学的机器也这样啊.- -!路径没有错的.
这么高的版本,有嵌入式版本的吗?
你的教材是QT3的。
引用 6 楼 redtin 的回复:
你的教材是QT3的。

你的程序例子在QT3应该可以运行
但你现在用QT4.2.2
问题应该出在这里,Qt中低版本的例子在高版本中不一定可以顺利运行
这个问题我以前也遇到过,其原因6楼说得对,要解决这个问题,你可以在.pro文件的Input之前加:
QT += qt3support
就OK了
6楼说的非常对

解决问题如8楼

在源码上qt4 与qt3有稍微差别的。
Qt3代码用的头文件之类和Qt4区别不少
程序代码