qt中paintEvent()函数出现问题 [问题点数:50分,结帖人GANZHIABC]

Bbs1
本版专家分:0
结帖率 91.18%
Bbs1
本版专家分:88
关于Qt中的paintEvent的若干问题
[code=c]rnrnvoid Ticker::setText(const QString &newText)rnrn myText = newText;rn update();rn updateGeometry();rnrnrnvoid Ticker::paintEvent(QPaintEvent * /* event */)rnrn QPainter painter(this);rnrn int textWidth = fontMetrics().width(text());rn int textHeight = fontMetrics().xHeight();rn if (textWidth < 1)rn return;rn int x = -offset;rn while (x < width()) rn painter.drawText(x, 0, textWidth, /*height()*/textHeight+10,rn Qt::AlignLeft | Qt::AlignVCenter, text());rn if(isRefresh == 0)rn rn painter.drawText(30,40,"Disappear ");rn isRefresh=1;rn rn elsern rn painter.drawText(30,80,"Appear ");rn isRefresh=0;rn rn x += textWidth;rn rnrnrnvoid Ticker::showEvent(QShowEvent * /* event */)rnrn myTimerId = startTimer(100);rnrnrnvoid Ticker::timerEvent(QTimerEvent *event)rnrn if (event->timerId() == myTimerId) rn ++offset;rn if (offset >= fontMetrics().width(text()))rn offset = 0;rn scroll(1, 0);rn // update();rn // updateGeometry();rn else rn QWidget::timerEvent(event);rn rnrn[/code]rnrn最近在自学QT碰到了一些问题.还请前辈们赐教一二.rn问题1:我在paintEvent<em>函数</em>里共有三个drawText,其中设置了isRefresh变量来测试rn上一个paintEvent画的图像是否下个paintEVent中还会存在.答案是肯定的,我是由rn界面上同时出现"Appear"和"DisAppear"推测出.那么我第一个drawText应该会rn画很多相同的字符串才对,但是只有一个字符串.这与前面推测相反,为什么.rn注:我这边paintEvent是由定时器引发的.rn问题2关于scroll<em>函数</em>.我在painEvent中的drawTextrn绘画的参考系是这个窗体的左上角并且相对坐标不变,因此我认为scroll<em>函数</em>对我的drawText没影响才对.rn但情况跟我想的不对,但我用scroll(1,0)触发paintEvent的时候,结果字符串是向右滚的.rn请问这是为什么.
Qt paintEvent 好可怕
我在Qt paintEvent中进行背景贴图。没想到,贴了一个地方然后执行,程序会非常卡,而且改变窗口大小的时候明显会有延迟。这是怎么回事?
[ QT ]paintEvent引发的问题
我用KDevelop自动生成一个KDE的application framework的工程rn看到了app view这两个类rn我重写了view 的paintEvent,可是并没有重绘rn我重写了app的paintEvent发现这里执行了~~于是我在这里又m_view->update();(我看文档说这个<em>函数</em>可以产生paint这个事件),还是失败rnrn我对QT里的事件没有什么概念~~rn提下问题rnrn1 paintEvent的概念与MFC中ondraw一样吗?(前者响应paint这个事件,后者响应WM_PAINT这个事件)rn2 为什么view的paintEvent不执行?该如何让我的VIEW重绘?rn3 信号与槽 Event与Event的处理<em>函数</em> 为什么要有两组?任何一种都足够(我是这么想的)rnrn先谢谢
关于qt paintevent 的问题
程序功能是下围棋,目前棋盘画出来了,但棋子不能下rn我定义了一个棋盘类 继承的Qlabelrn[code=c]class ChessBoard : public QLabelrnrn Q_OBJECTrnpublic:rn explicit ChessBoard(size_t row,size_t column,QWidget *parent);rn bool draw_board();rnsignals:rn void clicked(size_t, size_t);rnrnpublic slots:rnprotected:rn void mouseReleaseEvent(QMouseEvent *ev);rn ~ChessBoard()rnprivate:rn size_t row;rn size_t column;rnrn static const size_t padding = 20;rn static const size_t interval = 35;rn;rn[/code]rn在主界面类中 我将这个棋盘类加到主界面的布局里了rn[code=c]QGridLayout *layout = new QGridLayout();rn layout->addWidget(board,0,0,1,1);rn layout->addWidget(ui->go_exit,0,1,1,1);rn layout->takeAt(0);rn qDebug()stackedWidget->currentWidget()->layout();rn if(game != GO && game!=FIVE) rn // qDebug()checkStone(i,j);rn rn if(current==BLACK)rn brush.setColor(Qt::red);rn p.setBrush(brush);rn p.drawEllipse(QPoint((i)*GridSize+30,(j)*GridSize+30),12,12);rn rn else if(current==WHITE)rn brush.setColor(Qt::white);rn p.setBrush(brush);rn p.drawEllipse(QPoint((i)*GridSize+30,(j)*GridSize+30),12,12);rn rn rn rn this->children()rnrn[/code]rn鼠标点击事件加了update();rn根本没有反应 画不上去 ,调试了<em>paintevent</em> 进去了 没有画到主界面上rn是不是这个<em>paintevent</em> 应该加到 棋盘类里面???rn求大神解答一下 !!!rn谢谢!!!!
QT paintEvent 不显示图片
//已添加 头文件 rn#include rnvoid Dialog::paintEvent(QPaintEvent *)rnrn QPainter painter(this);rn QPixmap pix;rn pix.load("1.jpg");rn painter.drawPixmap(0,0,100,100,pix);rnrn为什么不显示图片 1.jpg 我放在程序文件中。
Qt中paintevent与paintGL两个函数能够并存吗?
最近一直被OpenGL中的显示旋转文字困惑。rn背景:我是在Qt中使用OpenGL绘制图形,现在想在上面显示倾斜的文字,一直找不到合适的方法。rn查阅资料后的结果:google了很多,有一个idea很好,Qt中的QGLWidget中的<em>paintevent</em>()事件会调用paintGL(),但是我尝试了下,显示出来的界面是纯白色的,什么也没有,当我把<em>paintevent</em><em>函数</em>注释掉,就会显示正常。求教有没有人知道怎么解决?
关于paintEvent函数的用法
在学习Qpainter的过程中有个例子,一个类只有两个成员<em>函数</em>:构造<em>函数</em>,paintEvent(QpaintEvent*)rn在paintEvent<em>函数</em>中画了一个矩形,但是在构造<em>函数</em>中没有调用这个<em>函数</em>,也没有调用repaint或者update<em>函数</em>,为什么运行结果显示矩形已经被画出来了,paintEvent<em>函数</em>是在什么时候被调用的?
paintEvent函数不被执行
先描述下我的类结构rn首先是通道类,每个通道有编号等相关信息,还有根据时间变化的曲线数据,因为要绘图,所以从QWidget派生rn其次是记录类,记录以文件方式保存,打开文件后方知有多少通道,将所以通道用QVBoxLayout布局管理起来,从QWidget派生rn因为曲线可能很长,特意重写了一下QScrollArea,加上时间轴等相关内容,其中心控件是一个记录类对象rn因为要多文档,所以mainwindow又以一个QMdiArea为中心控件,每次打开文件时执行下面的<em>函数</em>rnvoid MainWindow::open()rn rn CRecord *record = new CRecord(this);rn QString fileName = QFileDialog::getOpenFileName(this,tr("打开配置文件"),".",tr("config files(*.cfg)"));rn if(!fileName.isEmpty())rn record->loadFile(fileName); rn else rn rn return; rn rn CScrollArea *scrollArea = new CScrollArea(record,this); rn QWidget *subW = midArea->addSubWindow(scrollArea); rn subW->showMaximized();rnrn现在的问题是,每次打开文件后通道类的paintEvent<em>函数</em>不被执行,曲线绘制不出来了,无论我怎么调整主窗口,我试了下, 如果CScrollArea中重写paintEvent<em>函数</em>,也执行不了。只有主窗口的能被调用。rn请问问题可能出线在什么地方?rn谢谢rnrnrn通道类定义:rnclass CChannel : public QWidgetrnrn Q_OBJECTrnpublic:rn explicit CChannel(QWidget *parent = 0);rn========================================================================rnclass CAnalog : public CChannelrnrn Q_OBJECTrnpublic:rn explicit CAnalog(QWidget *parent = 0);rnrn==========================================rnrn在记录类中,读文件时rn CAnalog *chan = new CAnalog(this);rnrn郁闷了rnrnrnrn设计中通道控件是可以被手动移动的,可我都弄成这样了,paintEvent<em>函数</em>还是不执行rnrnrn[img=http://img.my.csdn.net/uploads/201304/06/1365217809_1277.jpg][/img]rnrn<em>函数</em>名字也没写错啊rnprotected: void paintEvent(QPaintEvent *);rnrn通道类都是在记录类中创建的,传入的都是this指针,但是我在记录类中强制调用repaint或者update都不能使通道类调用paintEventrn感觉是不是类继承哪里有点问题
QT关键问题解决之paintevent理解
基础概念: paintEvent(QPaintEvent*)<em>函数</em>是QWidget类中的虚<em>函数</em>,用于ui的绘制,会在多种情况下被其他<em>函数</em>自动调用,比如update()时。 运行时机: 一个重绘事件用来重绘一个部件的全部或者部分区域,下面几个原因的任意一个都会发生重绘事件: (1)repaint()<em>函数</em>或者update()<em>函数</em>被调用; (2)被隐藏的部件现在被重新显示; (
QT关于paintEvent事件的问题
我想做一个游戏,在mainwindow类里定义游戏窗口包括相关按钮,然后自定义一个类B(继承自widget),用于游戏的具体实现(包括绘图)。rn我在mainwindow类里声明了类B的指针,并在构造<em>函数</em>里创建对象,然后在类B里实现paintEvent。可是运行发现不能在窗口上绘图。我又把paintEvent相关内容放在mainwindow类里,就能正确绘图。是不是<em>paintevent</em>只能放在定义窗口的那个类里,如果要改成我那种结构改要怎么办?求大神支招!
Qt PaintEvent 绘制窗体背景图片
paintEvent 改变窗体背景图片: QPixmap m_pBg; m_pBg.load("Demo_bg.png"); void CDemoWnd::paintEvent(QPaintEvent* pEvent) { QPainter painter; painter.begin(this); painter.drawPixmap(rect(),m_pBg); painter.en
Qt 绘图 (有关paintEvent相关)
现在一个嵌入式设备需要一个画图版的功能,我现在有两种实现方法rn1.直接在paintEvent中绘图rn这样的话由于每次update都会刷新界面,需要保存每一个绘图的坐标,当保存的坐标很多的,程序运行就会很卡rn2.在QImage上绘图,然后再在paintEvent中调用drawImage这个<em>函数</em>rn这样不需要每次都重新绘点,但是鼠标每次移动都会出发paintEvent<em>函数</em>,从而触发drawImage这个<em>函数</em>(即每次鼠标移动都会重新绘制一下image),效率还不如第一种rnrn有没有其他方法呢
QT 重写QGraphview的paintEvent函数函数中drawRect没有效果,且函数无限循环
[img=https://img-bbs.csdn.net/upload/201310/05/1380951975_568119.png][/img][img=https://img-bbs.csdn.net/upload/201310/05/1380951987_982702.png][/img][img=https://img-bbs.csdn.net/upload/201310/05/1380951997_768027.png][/img]rnrn这是全部代码,程序一直在paintEvent中死循环,而且画不出矩形,求解
Qt不在paintEvent中画图,在槽函数中画图
void Widget::on_pushButton_clicked() { qint32 temp_width=ui-&amp;gt;label-&amp;gt;width(); qint32 temp_height=ui-&amp;gt;label-&amp;gt;height(); QImage mainimg=QImage(temp_width,temp_height,QImag...
paintEvent函数被疯狂的调用
class Ticker: public QWidgetrnrnpublic:rn Ticker(QWidget * = 0);rn void setText(const QString &);rn QSize sizeHint() const;rn rnprotected:rn void paintEvent(QPaintEvent *);rn rnprivate:rn QString myText;rn;rnrnvoid Ticker::paintEvent(QPaintEvent *)//为什么运行的时候这个<em>函数</em>会被疯狂的调用....rnrn QPainter painter(this);rnrn painter.drawText(0, 10, myText);rn
每日一篇(7):Qt之paintEvent重绘对话框
void KxDialog::paintEvent(QPaintEvent *event) { QPainterPath path; path.setFillRule(Qt::WindingFill); //填充方式 path.addRect(-10, -10, this-&amp;gt;width()+20, this-&amp;gt;height()+20); //addRect(x...
Qt paintEvent 描画多线程冲突问题
两个线程,线程M制作数据,存放在myWindow(继承自QWidget)里, paintEvent 是在主线程执行的吗,我可以想到的是它肯定和做数据不是一个线程,我怎么同步这个数据。在描画的过程中,M线程更改了数据,会造成crash吗,我遇到过几次。请大家指教。
Qt动态绘图 双缓冲区 paintEvent个人理解
1.调试过程中可知,鼠标每次到ui时候 会触发paintEvent事件 我把这次触发叫做 空跑 因为它没有执行你想操作的事件 比如鼠标,按键等 paintEvent的触发 (1)鼠标选中 或者在ui上晃悠的时候触发 (2)update() 执行后 这个事件已经触发 但是要执行万当前<em>函数</em>的...
QT 怎么在paintEvent外完成绘制操作
我设置了this->setAttribute(Qt::WA_PaintOutsidePaintEvent);然后在linux桌面版本上能够运行,但是在嵌入式Linux的板子上不能运行。会出现错误:rnQWidget::paintEngine: Should no longer be calledrnQPainter::begin: Paint device returned engine == 0, type: 1rnrn 有谁能帮我解决这个问题,或者有什么其他的办法,是我能够在paintEvent外完成绘制操作。谢谢各位大侠。rnrn
关于Qt 中paintEvent cpu占用率高的问题,救命啊!!!
[code=C/C++]void BaseView::paintEvent( QPaintEvent *pE )rnrn if (bgMask==NULL)rn rn if (NULL!=bg)rn rn QPainter painter(this); rn painter.drawPixmap(0,0,this->width(),this->height(),*bg);rn rn int arcR = 2;rn if (0==m_intRectCorner)rn rn rn QPixmap bMask(this->width(),this->height());rn QPainter p(&bMask);rn p.fillRect(0,0,this->width(),this->height(), Qt::white);rn if (bg)rn rn p.drawPixmap(0,0,this->width(),this->height(),bg->mask());rn rn rn this->setMask(bMask);rn rn //画圆角rn else if(1==m_intRectCorner)rn rn QBitmap bmp(this->size());rn bmp.fill();rn QPainter p2(&bmp);rn p2.setRenderHint(QPainter::Antialiasing);rn p2.setBrush(QBrush(Qt::red));rn p2.drawRoundRect(bmp.rect(), arcR, arcR); //四个角都是圆弧rn setMask(bmp);rn rn else if(2==m_intRectCorner)rn rn QBitmap bmp(this->size());rn bmp.fill();rn QPainter p(&bmp);rn p.setRenderHint(QPainter::Antialiasing);rn QRect rect = this->rect();rn QPainterPath path;rn //逆时针rn path.moveTo(arcR, 0);rn path.arcTo(0, 0, arcR * 2, arcR * 2, 90.0f, 90.0f);rn path.lineTo(0, rect.height());rn path.lineTo(rect.width(), rect.height());rn path.lineTo(rect.width(), arcR);rn path.arcTo(rect.width() - arcR * 2, 0, arcR * 2, arcR * 2, 0.0f, 90.0f);rn path.lineTo(arcR, 0);rn p.drawPath(path);rn p.fillPath(path, QBrush(Qt::red)); //arm和windows平台没有这行代码将显示一个透明的空空的框rn setMask(bmp);rn rnrn rn elsern rn this->setMask(*bgMask);rn rn rnrn[/code]rnrn我实在看不出来这里代码为什么会有 10%的cpu的占有率,求求各位哥哥姐姐帮帮忙
paintEvent调用
画了两个QImage,都有paintEvent<em>函数</em>。但我发现当我刷新一个QImage时,另外一个也会被刷新。于是我打算用自己的<em>函数</em>进行绘制。但是painter似乎不能用。rnrn也就是说只能通过paintEvent才能进行绘图。是这样的么?rn我如果使用paintEvent<em>函数</em>绘图,怎样区分别绘这两个不同的QImage?rn
QT 生成pdf出现问题
QT QWim32PrintEngine::initialize OpenPrinter failed rnrn求问,这是什么问题,什么原因造成的
qt第一个程序出现问题
[code=C/C++]#includern#includernint main(int argc,char *argv[])rnrn QApplication app(argc,argv);rn QPushButton b("Hello World!");rn b.show();rn QObject::connect(&b,SIGNAL(clicked()),&app,SLOT(quit()));rn return app.exec();rn[/code]rnrnhello.cpp:6: 错误:对‘QPushButton::QPushButton(const char [13])’的调用没有匹配的<em>函数</em>rn/usr/lib/<em>qt</em>-3.3/include/qpushbutton.h:141: 附注:备选为: QPushButton::QPushButton(const QPushButton&)rn/usr/lib/<em>qt</em>-3.3/include/qpushbutton.h:70: 附注: QPushButton::QPushButton(const QIconSet&, const QString&, QWidget*, const char*)rn/usr/lib/<em>qt</em>-3.3/include/qpushbutton.h:68: 附注: QPushButton::QPushButton(const QString&, QWidget*, const char*)rn/usr/lib/<em>qt</em>-3.3/include/qpushbutton.h:67: 附注: QPushButton::QPushButton(QWidget*, const char*)rnmake: *** [.obj/hello.o] 错误 1rn求解
QT debug调试出现问题
万能的大神,今天遇到一个debug调试问题。首先程序在release下能够运行,但是debug调试的时候就不能运行,提示图片内容。rn而且运行其他程序debug调试的时候没有出现这个问题。求各位大神指点!rnrn错误提示:rnUnexpected CDB ExitrnThe CDB process terminated.
交叉编译qt出现问题
配置命令:rn ./configure \rn-prefix /usr/local/Trolltech/<em>qt</em>e-arm rn-opensource rn-confirm-license rn-release -shared rn-embedded arm rn-xplatform qws/linux-arm-g++ rn-depths 16,18,24 rn-fast rn-optimized-qmake rn-pch rn-<em>qt</em>-sql-sqlite rn-<em>qt</em>-libjpeg rn-<em>qt</em>-zlib rn-<em>qt</em>-libpng rn-<em>qt</em>-freetype rn-little-endian -host-little-endian rn-no-<em>qt</em>3support rn-no-libtiff -no-libmng rn-no-opengl rn-no-mmx -no-sse -no-sse2 rn-no-3dnow rn-no-opensslrn-no-webkit rn-no-qvfb rn-no-phonon rn-no-nis rn-no-opengl rn-no-cups rn-no-glib rn-no-xcursor -no-xfixes -no-xrandr -no-xrender rn-no-separate-debug-info rn-nomake examples -nomake tools -nomake docs rn-<em>qt</em>-mouse-tslib-I/usr/local/tslib/include -L/usr/local//tslib/lib rnrn但是出现如下警告:rnYou have not explicitly asked to use pkg-config and are cross-compiling.rnpkg-config will not be used to automatically query cflag/lib parameters for rndependencies。rn这个问题怎么解决啊rn谢谢各位了啊rn分不多 只能给20分了rnrnrnrn
qt调试时出现问题
[img=https://img-bbs.csdn.net/upload/201308/15/1376553944_22020.jpg][/img]rnrnrn小弟刚刚接触<em>qt</em>,加入断点后,点击开始调试出现上面的问题,请大神们帮帮忙,急
类中添加函数出现问题
[code=javascript]rnrnrn rnrnrnrnrn[/code]rn然后就是没有输出啊。。。然后自己看了还是找不到错的地方。。。rn谢谢了。。。
QT中的函数
QT中的<em>函数</em>很多 我想问的是 对于这些<em>函数</em> 是看一点记一点 还是记得有这些操作就行 等需要的时候才重新查看
qt中的connect函数
1、connect()<em>函数</em>实现的是信号与槽的关联。 注意:只有QO bject类及其派生的类才能使用信号和槽的机制 2、<em>函数</em>原型 在第一个<em>函数</em>中:第一个参数为发射信号的对象,例如后面的dlg;第二个参数是要发射的信号,例如后面的 SIGNAL(dlgReturn(int));第三个参数是接受信号的对象,例如后面的this,表明是本部件,即Widget,当这个 参数是this时,可
调用update函数后,paintEvent函数没有执行?
我在paintEvent<em>函数</em>中加入了一些调试信息,当程序刚开始的时候可以看到有这些调试信息输出,可是当我调用update后,一直没有调试信息输出,界面也没有发生变化。当我将界面放大的时候,才有调试信息输出。rn在Qt4.7的帮助文档里面,有个basicDrawing的例子,我反复对比了自己的程序,其他的都一样,唯一不同的是我要更新的区域是QPlainTextEdit。请教,问题可能出在哪里?谢谢了。
Qt中在QMAinWindow内添加layout出现问题
    在QDialog的派生类中,添加Layout,可在创建Layout对象的同时指定其父窗口,但这在QMainWindow中行不通,可能会出现&quot; ..已经设置过布局.. &quot;或者设置的Layout不能正常显示。这是因为基于主窗口的程序,默认已经有了自己的布局管理器,所以再次设置Layout的话会失效。     QMainWindow的中心控件是一个QWidget,可以通过setCentralW...
QT for Android配置中NDK出现问题
[img=https://img-bbs.csdn.net/upload/201410/10/1412910430_702687.jpg][/img]rnrn请问这种情况怎么解决 。
vs2010中使用qt,插件出现问题
大家好!rnrnQt 4.8.1配合vs2010使用,在安装Qt插件时,出现 couldn't register all Qt4VSAddin commands。我用 Google 搜索,翻看了所有搜出的网页,只找到一个解决方案:rnrnAs a workaround you can callrn"C:\Program Files\Microsoft SDKs\Windows\v7.0A\Bin\gacutil.exe" -i "C:\Program Files\Common Files\microsoft shared\MSEnv\PublicAssemblies\stdole.dll"rnAfter that the AddIn should work as expected.rnrn但是我在命令行中运行上述命令时,提示 初始化gacutil 失败。rn求教解决方案,哪位大侠知道该怎么办?
paintevent还有this指针的问题
classbtn继承自<em>qt</em>oolbutton,在他的<em>paintevent</em>我用qdebug打印一次1。rnvoid classbtn::paintEvent(QPaintEvent *event)rnrnrn qDebug()update()还是会调用classbtn的painevent,而不是dialog本身的painevent呢?例如我把update直接用在dialog主<em>函数</em>里,点击就只有两个1出现,并且一开始也不会调用painevent。 小白问题,可能是我概念理解错了,请各位帮忙指正一下~
QSQLITE,qt数据库写入出现问题
定义了一个类DataSaver来把数据存储进数据库,并且还设一个独立的线程来执行它。但是向数据库写入数据时有时数据能存入,有时却会丢失,写不进去,这是咋回事啊?
qt引用gdal库出现问题
引入第三方库,按网上的流程,照理说可以引用成功。我是想把一个c++程序用<em>qt</em>编一个界面,需要引用gdal-1.4.2,但是会出现上百个 LNK2019:无法解析的外部符号 .如图。求助!rn[img=https://img-bbs.csdn.net/upload/201710/31/1509413086_727356.png][/img]rn引入gdal如下图rn[img=https://img-bbs.csdn.net/upload/201710/31/1509413111_532754.png][/img]
reahat下qt安装qwt出现问题
为什么我下了qwt解压后设计页面出不了qwt插件,然后讲qwt源码下的一个lqwt....so放在了<em>qt</em>的designer里也出不来,点查看插件信息里有一个ql使用了不兼容的<em>qt</em>4.8那我怎么知道我要下qwt多少。。
vs2005 QT联合编程出现问题
我用QT写了一个界面,并且另外开辟了一个线程来进行算法核心的运算。线程RecognitionThread是继承自QThread,它有一个类成员b_s_GMM,这个就是我的核心算法类,在算法运行之前先进行算法的一些初始化工作,这些工作我放到RecognitionThread的构造<em>函数</em>完成,并且之后再也没有更改过。rn 但是我发现算法总是出现运行时错误,经过调试发现,原来是本来已经初始化正确的值,竟然在QT界面显示之后(即 MainWindow mainWindow;rn mainWindow.show();rn return app.exec();rn )值竟然全部成为0了。rn rn 我算法中申明变量的顺序是:rn char *m_pre_block_type;rn CvSize m_road_mdl_size;rn CvSize m_nroad_mdl_size;rn// CvSize m_nnroad_mdl_size;rn// CvSize m_nnnroad_mdl_size;rn 这些变量是类的最后几个变量,经过调试,发现只要是该类的最后12个字节都会被清零,所以我在类中加上了上面注释后的两个结构体,问题就没有了。但找了很久,总是发现不了根本原因在哪里。rn 还有就是假如我把类成员变量b_s_GMM m_bs,改成指针即*m_bs,在调试的时候程序可以运行,但在开始(不调试)的情况下,总是崩溃,我打印输出发现是m_bs根本就是空的,资源没有申请成功。rn rn
qt for nokia SDK安装出现问题了!
我下载完 Nokia_Qt_SDK_Win_online_v1_0_1_en后。安装时 无法点击"下一步"进行安装,出现了这个信息:retrieving information from remote installation sourcesrn而且还自动生成了一个html的文件:代码如下:- rn- rn Nokia Qt SDK rn Nokia Qt SDK rn rn resource://metadata/ rn rn
qt运用phonon播放音乐出现问题
大家好,我用phonon播放音乐,其代码如下:rn#include rn#include "mainwindow.h" rn#include rn#include rn rnint main(int argc, char *argv[]) rn rn QApplication a(argc, argv); rn QTextCodec *codec = QTextCodec::codecForName("GB2312"); rn QTextCodec::setCodecForLocale(codec); rn QTextCodec::setCodecForCStrings(codec); rn QTextCodec::setCodecForTr(codec); rn rn //音乐播放 rn Phonon::MediaObject *music = Phonon::createPlayer(Phonon::MusicCategory, Phonon::MediaSource("E:/msc/a.mp3")); rn music->play(); rn //视频播放 rn Phonon::MediaObject *movie = Phonon::createPlayer(Phonon::VideoCategory,Phonon::MediaSource("E:/Movie/lian/窃听风云.avi")); rn movie->play(); rn return a.exec(); rn rn但不知为何出现以下错误:rnD:\MyQT\Nokia-build-desktop\..\Nokia\main.cpp:18: 错误:undefined reference to `_imp___ZN6Phonon11MediaSourceC1ERK7QString'rnD:\MyQT\Nokia-build-desktop\..\Nokia\main.cpp:18: 错误:undefined reference to `_imp___ZN6Phonon12createPlayerENS_8CategoryERKNS_11MediaSourceE'rnD:\MyQT\Nokia-build-desktop\..\Nokia\main.cpp:18: 错误:undefined reference to `_imp___ZN6Phonon11MediaSourceD1Ev'rnD:\MyQT\Nokia-build-desktop\..\Nokia\main.cpp:18: 错误:undefined reference to `_imp___ZN6Phonon11MediaSourceD1Ev'rnD:\MyQT\Nokia-build-desktop\..\Nokia\main.cpp:19: 错误:undefined reference to `_imp___ZN6Phonon11MediaObject4playEv'rnD:\MyQT\Nokia-build-desktop\..\Nokia\main.cpp:19: 错误:undefined reference to `_imp___ZN6Phonon11MediaObject4playEv'rnrn请问原因是什么?应如何解决?
调用Qt::FramelessWindowHint与winId()出现问题
我需要做一个无边框的窗体调用了Qt::FramelessWindowHint,然后在窗体里有一个窗口调用SDL需要用到winId()这个<em>函数</em>,不过我发现当这两个东西同时出现时会引起一些问题,就是我设置了整个窗体的拖动事件,而且自己定义了关闭和最小化按钮,是在网页上实现的,但是当这两个同时加载时会导致有一部分区域失效,但是能看到那部分的东西。rnrn如图红色的部分会失效,左边的黑框是调用的SDL 右边是其他的。红色区域就像被覆盖一样网页上的按钮什么的都没用了,也无法拖动,但是当我调试时有时候是ok的。当红色区域加载时会有一个类似大的白色按钮的区域一闪这时这个区域就会有效,但是直接点击运行那一块就失效了。。。有没有人有这方面的办法。。。rn[img=https://img-bbs.csdn.net/upload/201501/04/1420341287_410686.png][/img]
可否在PaintEvent外绘制图形
想在一个Widget上绘制文字。但是不想通过重写该widget的painteEvent事件来做。rn有什么办法可以不重写来绘制的么?比如在他的父widget中的painteEvent中来处理?
高分悬赏:关于paintEvent()
[color=#FF00FF]mainwindow.h[/color][code=C/C++]rn#ifndef MAINWINDOW_Hrn#define MAINWINDOW_Hrn#include rn#include rnclass MyWindow : public QMainWindowrnrn Q_OBJECTrnpublic:rn MyWindow(QWidget *parent = 0);rnprotected:rn void paintEvent(QPaintEvent *);rn void timerEvent(QTimerEvent *);rnprivate:rn bool start;rn QPixmap pixmap;rn;rn#endif // MAINWINDOW_Hrnrn[/code]rnrn[color=#FF00FF]mainwindow.cpp[/color][code=C/C++]rn#includern#includern#include "mainwindow.h"rnMyWindow::MyWindow(QWidget *parent):QMainWindow(parent),pixmap(800,600)rnrn start=true;rn resize(800,600);rn startTimer(5000);rnrnrnrnvoid MyWindow::paintEvent(QPaintEvent *<em>paintevent</em>)rnrn QPainter painter(this);rn QRect rect(0,0,800,600);rn QBrush brush(QColor(255,0,0));rn painter.setBrush(brush);rn if(start==true)rn rnrn painter.drawRect(rect);rn pixmap.fill(this,0,0); //保存第一次画的东西rn start=false;rn rn elsern rnrn painter.drawPixmap(0,0,pixmap);//还原rn rnrnvoid MyWindow::timerEvent(QTimerEvent *)rnrn pixmap.fill(this,0,0);rn update();rnrnrn[/code]rnrn[color=#FF00FF]main.cpp[/color]rnrn[code=C/C++]rn#include rn#include "mainwindow.h"rnint main(int argc, char *argv[])rnrn QApplication a(argc, argv);rn MyWindow w;rn w.show();rn return a.exec();rnrnrn[/code]rnrn这段程序窗口不是应该一直保持红色吗?rn怎么我在ubuntu上窗口红色闪一下就变为了默认色,而在windows xp上却是红色维持的5s后涮新为默认色??rn求解,纠结了好几天的问题了?rnrn
paintEvent如何调用?
我在Widget上面画了一个输入框和一个按钮,想在用户点击按钮后,程序根据输入框里的数据去画图。我的环境是<em>qt</em>4.7,window下。我是新手,看介绍说painter只能在paintEvent<em>函数</em>里才能运行,但是这个<em>函数</em>在程序一运行的时候就调用了,我想知道如何在点击按钮后才调用这个<em>函数</em>,以及如何调用。各位XDJM帮帮忙啊~
qt重写了QFrame的paintEvent,怎么才能显示出来
想在qrame中画图,就从QFrame继承得到了一个新类myframe,重写了paintEventrn然后在mainwindow定义中添加了一行 myframe *frame;rn,现在的问题是怎么让frame在主窗口上显示rn如下rn[code=C/C++]rn//mainwindow.cpprnMainWindow::MainWindow(QWidget *parent) :rn QMainWindow(parent),rn ui(new Ui::MainWindow)rnrnrn ui->setupUi(this);rn frame= new MyFrame();//这样写就新弹出一个新窗口 ,显示正常,但不是在主窗口内rn frame.show();rnrn//第二种写法rnMainWindow::MainWindow(QWidget *parent) :rn QMainWindow(parent),rn ui(new Ui::MainWindow)rnrnrn ui->setupUi(this);rn frame= new MyFrame(this);//这样写就什么都不显示了rn frame.show();rn[/code]rnrn
QT能不能立即画图,而不是在paintEvent或者paintGL里面。
用windows的graphics画图,任何时候都可以直接用DC绘图,而不一定要在WM_PAINT(或者说是OnPaint)里面。rn在QT下面,画图必须要在paintEvent或者paintGL里面吗?rnrn这样效率会不会很差啊?rn比如在画面上已经有了10000条线,我现在鼠标点一下,就再画一条线,如果用paintEvent的方法,就得把这10000条线全部都重画一遍,然后再画现在多出来的这条线?
paintEvent调用时机
1、窗口启动的时候; 2、手动调用update(); 3、系统认为窗口需要重绘;
QAxWidget的paintEvent事件不响应
我用QAxWidget调用ActiveX控件,但我想在最上层显示些图形,ActiveX控件本身没法去画,所以我想到在QAxWidget上画,于是重写了QAxWidget的paintEvent事件,但调用过程中发现,paintEvent事件根本不响应,不知道怎么回事
paintEvent怎么用??
“APPLET窗口被另一个窗口覆盖,随后又被移到前面,就会产生一个PaintEvent时间,并把它传给需要重绘的applet中构件……”rnrn哪位大虾给在下指点一个,这个PaintEvent怎么使用??rn它不能像addXXXLintener()这么用
关于paintEvent的小问题
在鼠标时间里定义snapRect:rnsnapRect=QRect(startPoint,endPoint);rnrn我在paintEvent<em>函数</em>里写入:rnpainter.drawImage(snapRect,brightImage,snapRect,Qt::AutoColor);rnrn请问如何才能让paintEvent在屏幕上自动显示我用鼠标选取的区域?rn谢谢!
怎样使用paintEvent()
想实现点击按钮后开始画图,paintEvent()貌似是系统自动运行的rn功能实现就像是onDraw()<em>函数</em>,点击按钮后调用Invalidate(),再调用onDraw(),实现了按钮画图。rnrn怎么能实现按钮画图呢?
QT中的sender函数,result函数
嗨!老铁们我又回来了,优化个项目搞死我了,终于搞定了!!! 在这个项目中还是学了点东西的,我感觉比较重要的记下来跟大家分享,嘿嘿嘿。 一、背景:在多个界面下的每个label,LineEdit,后面添加删除按钮。 二、问题:添加了无数个按钮之后,点击按钮不知道是点击的哪个按钮 三、这时候就可以用到sender()<em>函数</em>了。 在new出按钮之后每个按钮绑定的槽<em>函数</em>里面用到: QPushButton ...
Qt中connect()函数的问题
这个问题比较简单,但是没怎么用过Qt所以请教下,问题如下:rn 我在 b.cpp中 emit一个信号,A.cpp 响应这个信号,rn 但是我在 a.cpp中的 connect<em>函数</em> 的第一个参数这个对象,我从哪里定义这个么对象呢? 莫非是 b.cpp的对象?rn 费解。。。请高人来个简单的例子~!
关于QT中memset函数
我定义了这样一个结构体rnstruct FileInfrnrn char name[256]; //文件名rn char mode[20]; //文件属性rn time_t date; //文件修改日期rn long long size; //文件大小,大小为字节数rn;rn然后用了1024个结构体对象 FileInf file[1024];rn用memset<em>函数</em>初始化 memset(file, 0, sizeof(FileInf)*1024);rn然后调试,查看只有113个对象被初始化为0,其他的都没有。并且如果再次调用memset操作其它的数据就会报内存错误rn[img=https://img-bbs.csdn.net/upload/201504/12/1428832596_181809.png][/img]
qt中的connect函数的问题?
为什么在编译的时候会有这样的错误呢?rnimplicit declaration of function int clicked(...).rnno implicit declaration of function call to MyMainWin::Connect(...)rnrn我看了一下,语法没有错误。。呜呜。
Qt中blockSignals函数的用法
前面的一篇博客中提到给一个创建了信号槽的ComboBox添加或去除Item时采用的方法是在对该ComboBox操作前先使用disconn<em>函数</em>将信号槽先切断,操作好后在connect。 今天发现有另一种解决方法,就是使用blockSignals<em>函数</em>。 该<em>函数</em>的原型:bool QObject::blockSignals(bool block) 官方解释:If block is true, sig
Qt 中的QAbstractItemModel::createIndex()函数
这个<em>函数</em>到底怎么用,参数类型,返回类型都对,老是编译不通过?rn[img=https://img-bbs.csdn.net/upload/201509/30/1443614675_357011.png][/img]
Qt 用到的函数(持续更新中)
scale():进行放大或缩小的功能,一般用于图形。例如scale(2,2)。 rotate():将图形进行旋转,比如rotate(90)就是将图形旋转90度的意思。 delta():用来得到鼠标滑动时的状态,正数表示正在放大,负数表示正在缩小。主要在QWheelEvent这个类中使用。比如QWheelEvent *event;event->delta()。 setBackgroundBru
笔记:QT中的signal函数
可以简单的理解为: signal <em>函数</em>的作用就是 传递变量, slot    <em>函数</em>的作用就是 处理变量。 不能直接在信号<em>函数</em>中对变量进行处理! 以下做法是错误的: h文件中: class myClass { ...... signals: void mysignal(); ...... } cpp文件中: void myClass:
qt中sprintf()函数的问题
我要用sprintf格式化一段字符串,sql.sprintf("insert into area_info values('%s','%s','%s','%s')",qPrintable(s1),qPrintable(s2),qPrintable(s3),qPrintable(s4));其中s4="字段",运行后,sql字符串中不能正确的将s4格式化到字符串中,请问用什么方法将带汉字的字符串格式化
Qt中的connect函数使用
我们在使用connect<em>函数</em>的时候一般是这样调用的: [cpp] view plain copy connect(sender,SIGNAL(signal()),receiver,SLOT(slot()));   这里用到了两个宏:SIGNAL() 和SLOT();通过connect声明可以知道这两个宏最后倒是得到一个const char*类型
qt中开平方根的函数
我在网上查开平方根的<em>函数</em>是sqrt(),包含的头文件是,但是不好使,说这个头文件中没有这个<em>函数</em>,求开平方的<em>函数</em>和说包含的头文件[img=https://forum.csdn.net/PointForum/ui/scripts/csdn/Plugin/001/face/83.gif][/img]
Qt中sprintf_s函数的问题
如题,以下两个图是 VC和QT的测试图,求大神解答一下nn![图片说明](https://img-ask.csdn.net/upload/201807/27/1532684356_540939.png)![图片说明](https://img-ask.csdn.net/upload/201807/27/1532684369_76895.png)
新建函数出现问题
采用file->new->object->function建立<em>函数</em>rn设置完<em>函数</em>名、类型、参数类型后rn<em>函数</em>中有 return rn但保存时出出以下错误:rn“Routine must return a value"
UploadFile 函数上传出现问题
我用UploadFile来上传文件rn代码:rnclient.UploadFile("http://localhost/UnionSolve/QS/DataShow/QS_DownLoad.aspx","POST",@"C:\Inetpub\wwwroot\UnionSolve\ADCss\20061227\a.asp");rnrn在QS_DownLoad.aspx页面中接受,但是老是在运行到client.UploadFile("http://localhost/UnionSolve/QS/DataShow/QS_DownLoad.aspx","POST",@"C:\Inetpub\wwwroot\UnionSolve\ADCss\20061227\a.asp");就报错rnrn"远程服务器返回错误: (403) 已禁止rn请高手指导rn
sendTo函数出现问题
在用sendTo<em>函数</em>发送数据的时候,出现如下rnunhandled exception in netSend.exe:0xC0000005 access violationrn信息是怎么回事?
c++函数构造出现问题?
n这是一个将华氏温度转化为摄氏温度的<em>函数</em>,为什么输出华氏温度后,输出的摄氏温度值一直为0呢?n```n#includen#includenusing namespace std;nnint ftoc(int f)nn int c;n c = (5 / 9 * (f - 32));n return c;nnint main()nn int fahr;n int celi;n cout << "please enter the fahr: ";n cin >> fahr;n celi = ftoc(fahr);n cout << "the celi is: " << celi << endl;n system("pause");n return 0;nn n```nn
函数拦截出现问题
我想拦截CreateTextServicesrn所以写了一个myCreateTextServices(IUnknown *punkOuter, ITextHost *pITextHost, IUnknown **ppUnk)rn但是显示identifier 'ITextHost'等 众多identifier rn我是不是应该链接什么库啊???rn
创建函数出现问题
create or replace function test1(a in number(2)) return booleanrnisrn b number(2):=33;rnbeginrn if a=b then rn return true;rn elsern return false;rnend if;rnend;rn如何解决?
求助 reshape函数出现问题
rn大家好,我刚刚接触Matlab,有一段代码交给我调试,可是在运行到reshape<em>函数</em>的时候报错:“Error using reshapern To RESHAPE the number of elements must not change.”我在网上查,说是因为矩阵的大小在转换前后改变了。但是我又瞧不出来哪里改变了,请大家帮忙看一下啊,我读代码感觉这段程序的作用就是将三个文件的内容分别读入三个矩阵,然后再转置一下这三个矩阵,然后再合并这三个矩阵,然后将这个合并后的矩阵内容返回到一个三维数组之中。代码如下:rn rn……rn yr=38;np_chn=545;lat1=73;lon1=144;nf=3;np=20;rn ……rn fdir2='E:\data\ncep\gh\gh500\gh_71_08\global\';rn fid2=fopen([fdir2,'gh_an_may_71.1_08.7.dat'],'r'); %Modelrn gh1=fread(fid2,[lat1*lon1 yr],'float32');rn fid3=fopen([fdir2,'gh_an_jun_71.1_08.7.dat'],'r'); %Modelrn gh2=fread(fid3,[lat1*lon1 yr],'float32');rn fid4=fopen([fdir2,'gh_an_jul_71.1_08.7.dat'],'r'); %Modelrn gh3=fread(fid4,[lat1*lon1 yr],'float32');rn rngh1=permute(gh1,[2 1]); %[yr lat1*lon1]rn gh2=permute(gh2,[2 1]);rn gh3=permute(gh3,[2 1]);rn rnfa_thr=cat(2,gh1,gh2,gh3);rn fa_thr=reshape(fa_thr,[yr lat1*lon1 nf]); %[yr lat1*lon1 nf]rn ……rn rn错误提示是:rn Error using reshapern To RESHAPE the number of elements must not change.rn Error in choose_fathr_grid (line 105)rn fa_thr=reshape(fa_thr,[yr lat1*lon1 nf]); %[yr lat1*lon1 nf]rn rn请大家帮我看一下,是哪里的错误啊,怎么解决,很急,请大家多多帮助,谢谢!rn rnrnrnrn
编译一个函数出现问题
先声明:rnvoid WriteLogFile(char* fileName,char *content,BOOL bCloseLog=FALSE);rn再定义:rnvoid WriteLogFile(char* fileName,char *content,BOOL bCloseLog)rnrn rn rn发现编译不能通过?
QPainter只能在paintEvent()中使用吗
我在程序中定义了个Timer 每隔一段时间想更新一下 但是QPainter对象貌似只能在paintEvent中起作用 在Timer对应的slot中却无法使用 怎么也画不出来 是哪里出了问题呢?我的QPainter对象是私有成员 在paintEvent中初始化
关于背景图和paintEvent()的问题
我用的<em>qt</em>环境是<em>qt</em>3.38,fadora8的系统。刚学习<em>qt</em>不久,遇到一个很郁闷的问题,请高手们解答。rnrn代码如下:rn#include rn#include rn#include rn#include rnrnclass MyButton : public QWidgetrnrnpublic:rn MyButton( QWidget *parent=0, const char *name=0 );rn rnprotected:rn void paintEvent( QPaintEvent *);rn rnprivate:rn QLabel *label;rn;rnrnMyButton::MyButton( QWidget *parent, const char *name )rn : QWidget( parent, name )rnrn label = new QLabel( "label", this, "label" );rn QVBoxLayout *box = new QVBoxLayout(this);rn box->addWidget(label);rnrnrnvoid MyButton::paintEvent( QPaintEvent *e)rnrn qDebug("BPixmapButtonBase::paintEvent");rnrnrnclass MyWidget : public QWidgetrnrnpublic:rn MyWidget( QWidget *parent=0, const char *name=0 );rn;rnrnMyWidget::MyWidget( QWidget *parent, const char *name )rn : QWidget( parent, name )rnrn MyButton *btn = new MyButton(this, "label" ); rnrnrnint main( int argc, char **argv )rnrn QApplication a( argc, argv );rnrn MyWidget w;rn w.resize(200, 120);rn QPixmap pix("images/ground1.png");rn w.setPaletteBackgroundPixmap(pix);rn a.setMainWidget( &w );rn w.show();rn return a.exec();rnrn若去掉w.setPaletteBackgroundPixmap(pix);这句,或是换成w.setBackgroundPixmap(pix);则MyButton::paintEvent()不会被调用。到底有什么联系呢?好像跟palette有关,因为不想用setPaletteBackgroundPixmap()所以很想知道为什么。rnrn先谢了!
C++中调用C的函数 运行时出现问题
问题一开始是因为从X86移植到MIPS后出现的,开始问题贴在这:rnhttp://topic.csdn.net/u/20090723/13/515708d9-d95e-4f43-899b-9e891e674307.html?seed=1626797051&r=58573273#r_58573273rn大家可以看看rnrn现在问题关键基本定位到C++中调用C<em>函数</em> 出现了问题:rn运行时有如下的错误提示:rn[color=#FF0000]Address alignment error, can't emulaternbadvaddr=0xfffffe24, epc=0x2aee6cacrnKilled [/color]rnrn不知道大家有没有碰到过这样的问题,而且这个问题在X86的机子上还没碰到过,就是移植到MIPS下就有问题了。rn知道的帮忙看看吧,现在我的任务就卡在这里,真的很着急
关于调用DLL中的函数,出现问题
以上<em>函数</em>写在exe文件中然后再调用,可以实现效果rn然后写在Dll中,再调用则失效rn何解?rnrnprocedure SetDataGridFootType(DataGrid: TDBGridEh;rn FFieldName: PChar; FType: TFooterValueType);rnbeginrn with DataGrid dorn beginrn FooterRowCount:=1;rn if not SumList.Active then SumList.Active:=true;rn if FindColumn(FFieldName)<>nil thenrn FieldColumns[FFieldName].Footer.ValueType:=fvtSum;rn end;rnend;
100求--调用dll中的函数出现问题
<em>出现问题</em>:The value of ESP was not properly saved across a function call. This is usually a result of calling a function declared with one calling convertion with a function pointer declared with a different calling convertion.rnrnrn代码如下:rn CComboBox *combtype,*combcom;rn CString str;rn //取得DLL的名称rn combtype=(CComboBox *)GetDlgItem(IDC_COMBO1);rn if (combtype->GetCurSel()!=CB_ERR)rn rn combtype->GetLBText(combtype->GetCurSel(),str);rn rnrn if(str.GetLength() < 1)rn rn return;rn rnrn str = str+".dll"; rn char lm_path[80];rn sprintf(lm_path,"%s",str); rn rn //取得串口名称rn combcom=(CComboBox *)GetDlgItem(IDC_COMBO2);rn if (combcom->GetCurSel()!=CB_ERR)rn rn combcom->GetLBText(combcom->GetCurSel(),str);rn rnrn if(str.GetLength() < 1)rn rn return;rn rn char lm_com[80];rn sprintf(lm_com,"%s",str); rnrn //定义便读取数据信息rn char lm_OpID[80],lm_TeleNum[80],lm_CountryCode[80],lm_CtrlChann[80];rn memset(lm_OpID,0,sizeof(lm_OpID));rn memset(lm_TeleNum,0,sizeof(lm_TeleNum));rn memset(lm_CountryCode,0,sizeof(lm_CountryCode));rn memset(lm_CtrlChann,0,sizeof(lm_CtrlChann));rnrn rn typedef bool (QReadPSInfo)(char *,char *,char *,char *,char *); rn HINSTANCE hInstance;rn QReadPSInfo *pReadPSInfo;rn VERIFY(hInstance = ::LoadLibrary(lm_path));rn VERIFY(pReadPSInfo = (QReadPSInfo *)::GetProcAddress(hInstance,"ReadPSInfo"));rn tryrn rn bool aa = (* pReadPSInfo)(lm_com,lm_OpID,lm_TeleNum,lm_CountryCode,lm_CtrlChann); rn rn catch(...)rn rn FreeLibrary(hInstance);rn MessageBox("错误!");rn return;rn rnrn FreeLibrary(hInstance);
matlab的newff函数使用中出现问题
** Warning in INITrn** Network "input1.range" has a row with equal min and max values.rn** Constant inputs do not provide useful information.rnrn??? Maximum variable size allowed by the program is exceeded.rnrnError in ==> calcjejj at 121rn JJ = Jx * Jx';rnrnError in ==> trainlm at 265rn [je,jj,normgX]=calcjejj(net,Pd,Zb,Zi,Zl,N,Ac,El,Q,TS,mem_reduc);rnrnError in ==> network.train at 278rn [net,tr,Ac,El] = feval(trainFcn,net,Pd,Tl,Ai,Q,TS,VV,TV);rnrnError in ==> k2 at 25rn[net,tr]=train(net,Traindocs,Traintarget);rnrnrn请哪位朋友帮我解释一下是什么问题?rn有什么解决方法吗?rn谢谢了
动态连接库中的函数,解释后出现问题,求救!!!
我有个动态连接库,还有c的头文件,我把翻译成Delphi的时候出现了点问题,大家帮忙看看啊:rnLONG WINAPI XPosition(ULONG iIndex); rnfloat XReadOut(ULONG iIndex); rnrn这两个<em>函数</em>,C的头文件里面的,翻译成D的<em>函数</em>后如下:rnfunction XPosition(iIndex : Longword) : longint;stdcall;external 'CardDLL.dll';rnrnfunction XReadOut(iIndex : Longword) : Single;stdcall;external 'CardDLL.dll'; rnrn不知道这样翻译有没有问题? rnrn因为我现在遇到这样的情况,凡是C中<em>函数</em>名前有WINAPI的,翻译成D的<em>函数</em>后都好用,凡是没有WINAPI的,都出现内存读取错误???
QWidget中update不执行paintEvent解决方案
在QWidget中,如果遇到调用它的update时,不执行paintEvent情况。 多半是两种情况, 1、update是disabled 2、此widget是hide的 3、设置了QWidget的setAttribute(Qt::WA_TranslucentBackground,true);属性会引起很多刷新问题 解决方案: 如果你没有禁用update,那么就是没有show出
如何控制了QGLWidget 的paintEvent刷新
在一个别人写的代码里看到在qwidget上绘制一个QGLWidget ,重载了QGLWidget 的paintEvent,启动以后里面的paintEvent只在窗口resize的时候重绘了一次,然后就进不去这个断点了,rnrn我模仿者和他做一样的事情,但paintEvent却不停的在被激活rnrn我的问题是如何才能控制QGLWidget 的paintEvent刷新呢?或者说是哪里触发了paintEvent这个<em>函数</em>呢?rnrn在网上查了下,updateGL或者update都是被paintEvent触发的rnrn我在QGLWidget 派生类里的构造<em>函数</em>里写了rnrn setAutoBufferSwap(false);rn setAutoFillBackground(false);rnrn这两个我都设置了,还是没用rnrnrnrn
重写 paintEvent 事件 陷入死循环
[code=C/C++]rnvoid Label::paintEvent(QPaintEvent *event) rn rn//启动反走样 rnQPainter painter(this); rnpainter.setRenderHint(QPainter::Antialiasing,true);//启动反走样 rnrn//绘制边框 rnQPen pen(Qt::blue); rnpainter.setPen(pen); rnpainter.setBrush(QColor(this->getBackgroundColor())); rnpainter.drawRoundRect(QRect(0,0,this->width(),this->height()), 1,1); rnrnpainter.drawText(0,0,this->width(),this->height(),Qt::AlignCenter,"labelcontrol"); rnqDebug()<show();rnrnrn运行时,控制台一直输出sssrn即一直在调用<em>paintevent</em>,这样肯定不对吧rnrn这是哪错了,高手指点
paintEvent被重载绘画的问题?
1)假如paintEvent被重载,里头是空的,这个控件是变成透明的吗?rn2)paintEvent被重载,为何要QPainter painter(this)才能绘画?rn[code=C/C++]#include rnrnenum eumScaleTypernrn SCALE_FIX = 0,rn SCALE_FREE = 1rn;rnrnenum eumMoveTypernrn DRAG_TOP_LEFT,rn DRAG_TOP_RIGHT,rn DRAG_BOTTOM_LEFT,rn DRAG_BOTTOM_RIGHT,rn DRAG_LEFTMIDDLE,rn DRAG_RIGHTMIDDLE,rn DRAG_TOPMIDDLE,rn DRAG_BOTTOMMIDDLE,rn DRAG_CENTER,rn NO_ACTIONrn;rnrnclass editPainter : public QWidgetrnrn Q_OBJECTrnrnpublic:rn editPainter(QWidget* pParent=0);rnrn void setImagePath(QString strPath);rn void setScaleType(eumScaleType scaleType);rnrnprotected:rn virtual void paintEvent(QPaintEvent * event); //重载rn virtual void mousePressEvent(QMouseEvent *event); //重载rn virtual void mouseMoveEvent(QMouseEvent *event); //重载rn virtual void mouseReleaseEvent(QMouseEvent *event); //重载rnrnprivate:rn void prePaintRect();rn void capturePixmap();rn void calculatePaintRect(QMouseEvent *event, eumMoveType enAction);rn void calculateMiniRect();rnrnprivate:rn QPixmap *m_pPixmapSource; //源图rn QPixmap *m_pPixmapCaptured; //扑捉图rn QRect m_rcPixmapSource; //源图尺寸rn QRect m_rcPixmapTarget; //目的图尺寸rn QRect m_rectOfRedLine; //选取框尺寸rn bool m_bMousePressed; //鼠标按下rn bool m_bDisChangeDir; //不许变更方向rn QPoint m_ptLast; //上一次鼠标位置rn //矩形小方框rn QRect m_rcTopLeft;rn QRect m_rcTopRight;rn QRect m_rcBottomLeft;rn QRect m_rcBottomRight;rn QRect m_rcLeftMiddle;rn QRect m_rcRightMiddle;rn QRect m_rcTopMiddle;rn QRect m_rcBottomMiddle;rn eumMoveType m_enAction; //拖动方向rn eumScaleType m_eumScaleType; //比例模式rnrnsignals:rn void signalPixmapChange(QPixmap *pixmap); //截取图片发生变化rn;[/code]
因sub main()函数 出现问题?
vb.net2003rn在msdn 里有这样的例子...每5秒中弹出一个框...rn(form里拖一个timer控件...)rn程序:rn Friend WithEvents Timer1 As System.Windows.Forms.Timer 'timer控件rnrn Private Shared myTimer As New System.Windows.Forms.Timerrn Private Shared alarmCounter As Integer = 1rn Private Shared exitFlag As Boolean = Falsernrn ' This is the method to run when the timer is raised.rn Private Shared Sub TimerEventProcessor(ByVal myObject As Object, _rn ByVal myEventArgs As EventArgs)rn myTimer.Stop()rnrn ' Displays a message box asking whether to continue running the timer.rn If MessageBox.Show("Continue running?", "Count is: " & alarmCounter, MessageBoxButtons.YesNo) = System.Windows.Forms.DialogResult.Yes Thenrn ' Restarts the timer and increments the counter.rn alarmCounter += 1rn myTimer.Enabled = Truern Elsern ' Stops the timer.rn exitFlag = Truern End Ifrn End Subrnrn Public Shared Sub Main()rn ' Adds the event and the event handler for the method that willrn ' process the timer event to the timer.rn AddHandler myTimer.Tick, AddressOf TimerEventProcessorrnrn ' Sets the timer interval to 5 seconds.rn myTimer.Interval = 5000rn myTimer.Start()rnrn ' Runs the timer, and raises the event.rn While exitFlag = Falsern ' Processes all the events in the queue.rn Application.DoEvents()rn End Whilernrn但是这样的话, 画面也不会显示, 想实现别的功能也不能实现...rn好像每次被 sub main()<em>函数</em>初起化....rn请帮我解释sub main()<em>函数</em>, 以及怎样做的话, 画面也能显示,然后也能实现每5秒钟弹出提示框...rn
我用CONVERT函数出现问题????
select kqdate=convert(datetime,kqdate,101),k<em>qt</em>ime=convert(datetime,k<em>qt</em>ime,108) from table where isdate(kqdate)=1rn为何显示出来是此格式:yyyy-mm-dd hh:mm:ss[.fff]rn而不是我想要的格式呀。
频繁调用::TransparentBlt()函数出现问题
我写了个程序,通过定时器要频繁调用::TransparentBlt(),但是在程序运行一段时间后图形就画不上去了,我差了下资料,好像是gdi资源被用光所致。但是我的代码里面该释放的都释放了啊。rn下面是我的代码:rnCClientDC dc(this);rnCDC memdc1;rnmemdc1.CreateCompatibleDC(NULL);rnbitmap1.CreateCompatibleBitmap(&dc,rect.Width(),rect.Height());rnmemdc1.SelectObject(&bitmap1);rnCFont *oldfont=memdc1.SelectObject(&m_font);rnmemdc1.TextOut(0,0,strtime);rn::TransparentBlt(dc.m_hDC,50,50,size.cx,size.cy,memdc1.m_hDC,0,0,size.cx,size.cy,RGB(255,255,255));rnmemdc1.SelectObject(oldfont);rnmemdc1.DeleteDC();rnbitmap1.DeleteObject();rnmemdc1.Detach();rn
Com应用程序QueryInterface()函数出现问题
有一个用com方式编写的dllrn想用一个应用程序调用它rn在dll程序中rnScenario File.idl文件里有这样的声名rnimport "oaidl.idl";rnimport "ocidl.idl";rn [rn object,rn uuid(9E002FAD-7201-4BE6-89F3-485A12FBE369),rn dual,rn helpstring("IScenarioFile Interface"),rn pointer_default(unique)rn ]rn interface IScenarioFile : IDispatchrn rn ……rn [id(9), helpstring("method CloseFile")] HRESULT CloseFile();rn ……rnrn ;rnrn在Scenario File.h文件里,有这样一句话rnEXTERN_C const IID IID_IScenarioFile;rnrn在应用程序里,我写了如下测试代码rnrn IUnknown *pUnknown;rn IScenarioFile *pIScenarioFile;rn HRESULT hResult;rn if(CoInitialize(NULL)!=S_OK)rn rn MessageBox("Initialize COM library failed!");rn return -1;rn rn GUID ScenarioCLSID;rn hResult = ::CLSIDFromProgID(L"ScenarioFile.ScenarioFile",&ScenarioCLSID);rn if(hResult!=S_OK)rn rn MessageBox("Can't find the ScenarioFile CLSID!");rn return -2;rn rn hResult = CoCreateInstance(ScenarioCLSID,NULL,CLSCTX_INPROC_SERVER,IID_IUnknown,(void **)&pUnknown);rn if(hResult!=S_OK)rn rn MessageBox("Create object failed!");rn return -2;rn rn hResult = pUnknown->QueryInterface(IID_IScenarioFile,(void **)&pIScenarioFile);rnrn前面的初始化和createinstance都没有问题,但是到了执行QueryInterface()的时候,出现了连接错误rnunresolved external symbol _IID_IScenarioFilernrn在Scenario File.h文件里明明说明了这个IID的啊,而且我也include了,为什么还说没有呢rn大侠们帮帮忙吧,谢谢了rnrn
Qt 高清屏适配 Qt::AA_EnableHighDpiScaling 导致 QWidget 背景色出现问题
## 背景描述rnQt 做高清屏适配,使用 rnrn```rnQCoreApplication::setAttribute(Qt::AA_EnableHighDpiScaling);rn```rn界面可自动放缩大小,但是界面上个别控件背景色显示有问题。rn另外,由于某些原因,还设置了rnrn```rnQCoreApplication::setAttribute(Qt::AA_UseOpenGLES);rn```rnrn## 问题描述rn做了 AA_EnableHighDpiScaling 设置之后,产生以下问题: rn1. 只有一个 QWidget(控件A) 的 QPalette 不起作用,背景显示为 黑色;rn2. A 的父控件使用 QGraphicsDropShadowEffect 设置了阴影,因此虽然 A 的子控件(子控件B)也使用 QPalette 设置了背景颜色,但是其布局中QSpacerItem背景产生了阴影;rnrn## 界面图rn![图片说明](https://img-ask.csdn.net/upload/201905/15/1557907058_936474.png)
java使用Math.random()函数出现问题
[img=https://img-bbs.csdn.net/upload/201405/13/1399910755_566110.jpg][/img]rn如上图,调试到当前位置时,tmp1的值为下图所示rn[img=https://img-bbs.csdn.net/upload/201405/13/1399910771_674961.png][/img]rn再往下调试会出错了rn[img=https://img-bbs.csdn.net/upload/201405/13/1399910783_666578.png][/img]
获得进程名函数编译出现问题
编译下面的代码rnDWORD ProcessToPid(char *InputProcessName)rnrn DWORD aProcesses[1024],cbNeeded,cProcesses;rn unsigned int i;rn HANDLE hProcess;rn HMODULE hMod;rn LPWSTR werr;rn char szProcessName[MAX_PATH]="UnknownProcess";rn if(!EnumProcesses(aProcesses,sizeof(aProcesses),&cbNeeded))rn return 0;rn cProcesses=cbNeeded/sizeof(DWORD);rn for(i=0;i
用自带的 el 函数出现问题
rn[code=Java]rn出错信息:rn严重: Servlet.service() for servlet jsp threw exceptionrnorg.apache.jasper.JasperException: Unable to compile class for JSP: rnrnAn error occurred at line: 15 in the generated java filernThe type Class is ambiguousrnrnStacktrace:rn at org.apache.jasper.compiler.DefaultErrorHandler.javacError(DefaultErrorHandler.java:92)rn at org.apache.jasper.compiler.ErrorDispatcher.javacError(ErrorDispatcher.java:330)rn at org.apache.jasper.compiler.JDTCompiler.generateClass(JDTCompiler.java:439)rnrn------------------------------rnrnjsp 生成的代码如下..rnpackage org.apache.jsp;rnrnimport javax.servlet.*;rnimport javax.servlet.http.*;rnimport javax.servlet.jsp.*;rnimport entity.*;rnimport java.util.List;rnrnpublic final class stuPost_jsp extends org.apache.jasper.runtime.HttpJspBasern implements org.apache.jasper.runtime.JspSourceDependent rnrnstatic private org.apache.jasper.runtime.ProtectedFunctionMapper _jspx_fnmap_0;rnrnstatic rn//下面是第15行。。rn _jspx_fnmap_0= org.apache.jasper.runtime.ProtectedFunctionMapper.getMapForFunction("fn:length", org.apache.taglibs.standard.functions.Functions.class, "length", new Class[] java.lang.Object.class);rnrnrn private static final JspFactory _jspxFactory = JspFactory.getDefaultFactory();rnrn private static java.util.List _jspx_dependants;rnrn---------------------------rn我 jsp 代码如下:rnrnrnrnrn rnrn rn Insert title herern rn rn rn rn rn rn rn rn rn rn rn rn rn 标题rn rn rn 发帖人编号rn rn rn 发帖时间rn rn rn 查看次数rn rn rn 跟帖数rn rn rn rn rn rn $fn:substring(post.title,0,10)rn rn rn $post.userIdrn rn rn $post.postDatern rn rn $post.seeTimesrn rn rn $post.childNumberrn rn rn rn rn rn rn rn rn rn rnrn[/code]
急!!函数二次调用出现问题
我想输入字符串,然后输出16进制的数。但是第一次调用的时候,输入a,然后就输出A,这没错,错就错在第二次调用的时候,我输入b,程序输出AB。我想要的结果是B,所以请教各位大侠,该怎样改rnrn////////////1111.cpp//////////rn#includern#include rn#includern#define Header "BA"rn#include"yct.h"rnvoid main()rnrn char command[50];rn char data[50];rnchar c[50]="";rnchar d[50]="";rnint e[]=0;rn cout<<>command; rn int n=f1(command);rnf2(n, c);rn cout<<>data;rnint n1=f1(data);rn f2(n1, c);rn cout< 10)rn rn b[k] = t + '0';rn rn else if(t >= 10 && t < 16)rn rn b[k] = 'A' + t - 10;rn rn len++;rn m = m / 16;rn rn b[len] = '\0';rn for(int j = len-1; j >= 0; j--)rn rn c[l2]=b[j];rn l2++;rn rn return* c;rn rn rnint f3(int n1, int* e)//10转2;rnrn int d[50];rn int len1=0;rn int t,j;rn rn for(int l = 0; n1 != 0; l++)rn rn t = n1 % 2;rn d[l]=t;rn len1++;rn n1 = n1 / 2;rn rn for( j = len1 - 1; j >= 0; j--)rn rn e[l3]=d[j];rn l3++;rn rn return* e;rn
SQL SERVER函数出现问题,求救
以下<em>函数</em>在编辑的时候总是提示在while那边<em>出现问题</em>,求救rnrnrnset ANSI_NULLS ONrnset QUOTED_IDENTIFIER ONrngornrn-- =============================================rn-- Author: rn-- Create date: rn-- Description: rn-- =============================================rnALTER FUNCTION [dbo].[DeleteHZ]rn( rn -- Add the parameters for the function herern @cargoname varchar(512)rn)rnRETURNS varchar(150) rnASrnbeginrn DECLARE @Result varchar(512) rn declare @sno smallint rn select @Result=''rn select @sno=1 rn while(@sno) rnendrnGOrn
创建函数出现问题,请您帮忙!
我在作一个ID为char类型的自增<em>函数</em> 如'00001','00002',...'00008'rnrn试验表如下 create table test_zhang(pid char(5))rnrn<em>函数</em>如下 rncreate or replace function test_abcde() return numberrnisrnv_code test_zhang.pid%type;rnbeginrnselect to_char(max(pid)+1,'00000') into v_code from test_zhangrnreturn v_code;rnend;rnrn创建时出现存在编译错误,不知道那得原因,请各位路过看一下,我不知道自己还剩多少分,if a>10 return 10 else return max(a),见谅,谢谢!rn
pycharm中配置qt designer,PyUIC,运行hello.ui时出现问题
内容描述:rnrnanaconda3-4.2(python3.5)rnrnpython环境rnrn```rnC:\Users\boos\Anaconda3\python.exern```rn<em>qt</em>designer路径rnrn```rnC:\Users\boos\Anaconda3\Lib\site-packages\py<em>qt</em>5_tools\designer.exern```rnrn问题描述:pycharm中配置<em>qt</em> designer,PyUIC,运行hello.ui时<em>出现问题</em>rnrn```rnC:\Users\boos\Anaconda3\python.exe -m PyQt5.uic.pyuic one.ui -o one.pyrnTraceback (most recent call last):rn File "C:\Users\boos\Anaconda3\lib\runpy.py", line 184, in _run_module_as_mainrn "__main__", mod_spec)rn File "C:\Users\boos\Anaconda3\lib\runpy.py", line 85, in _run_codern exec(code, run_globals)rn File "C:\Users\boos\Anaconda3\lib\site-packages\PyQt5\uic\pyuic.py", line 26, in rn from PyQt5 import QtCorernImportError: DLL load failed: 找不到指定的模块。rnrnProcess finished with exit code 1rn```
Qt OpenGL中使用GLUT库出现问题,求助
从网上下载的glut库,已按照帖子中说的方法将各文件放在应该放的位置,可是编译还是出错,我想问问是不是因为32位和64位的原因。rnrn文件部署参照的帖子:http://stackoverflow.com/questions/9234664/how-to-install-glut-on-a-64-bit-windows-7-for-ms-vs2010rn编译报错:rn[img=https://img-bbs.csdn.net/upload/201606/02/1464863936_372490.png][/img]rnrn本地环境是 Win7 64bit + vs2015,工程配置也是x64的,不知道哪里出的问题。
QT调用动态库函数出现问题请教
我在QT上 调用一个动态<em>函数</em>库(这个库用VC编译的,用2008调用也是成功的) 可是转到QT上调用就编译不通过, 我是隐私导入的方式导入到QT工程中(注:显示导入用QLibrary 编译是通过的但根本没调用) 在隐私导入头文件编译就会出错(Pro文件已经导入头文件和库)rnrn以下是动态库头文件中的定义rn_declspec(dllexport) int add(int a,int b); rn这句话红色下划线提示 unexpect token int rnrn我main中调用程序rn编译出的错误提示 expected constructor destructor or type conversion before '(' tokenrnrn向请教 QT 调用VS编译的动态库有什么需要注意的地方,或者有什么更好的方法 谢谢rnrnvcdll.h 文件rn#include "stdio.h"rn_declspec(dllexport) int add(int a,int b); rn//这句话编译错误提示 expected constructor destructor or type conversion before '(' tokenrnrnrnrnmain 文件rn#include "vcdll.h"rnmain()rnrnint res=add(1,2);rnrn
一些常用的网络DOS命令下载
1、ping Ping命令的常用参数选项   ·ping IP –t   连续对IP地址执行Ping命令,直到被用户以Ctrl+C中断。   ·ping IP -l 3000   指定Ping命令中的数据长度为3000字节,而不是缺省的32字节。   ·ping IP –n   执行特定次数的Ping命令。 相关下载链接:[url=//download.csdn.net/download/mf2020ndsc/4121921?utm_source=bbsseo]//download.csdn.net/download/mf2020ndsc/4121921?utm_source=bbsseo[/url]
E语言编写的计时器下载
用E语言编写的倒计时,可直接运用,最后10秒钟会有声音提示。30秒和两分钟的时候也有提示音 字体颜色可变, 窗口大小可以调整 相关下载链接:[url=//download.csdn.net/download/u014452710/7408039?utm_source=bbsseo]//download.csdn.net/download/u014452710/7408039?utm_source=bbsseo[/url]
导航滚动监听下载
这不是你想要的,除非你知道导航滚动监听是什么 相关下载链接:[url=//download.csdn.net/download/alisure/8113091?utm_source=bbsseo]//download.csdn.net/download/alisure/8113091?utm_source=bbsseo[/url]
相关热词 c++和c#哪个就业率高 c# 批量动态创建控件 c# 模块和程序集的区别 c# gmap 截图 c# 验证码图片生成类 c# 再次尝试 连接失败 c#开发编写规范 c# 压缩图片好麻烦 c#计算数组中的平均值 c#获取路由参数
我们是很有底线的