jjzjj

c++ - GUI 应用程序中的 QPainter 错误

我正在尝试编写一个GUI,用C++在其上绘制图形。我得到了一个错误列表,所有错误都说:“QPainter::begin:Widget绘画只能作为paintEvent的结果开始”似乎没有任何东西在绘画。main.cpp#include#include#include#includeusingnamespacestd;#include"skewNormal.h"#include"ui.h"intmain(intargc,char*argv[]){QApplicationapp(argc,argv);Windoww;#ifdefined(Q_OS_SYMBIAN)w.showMaximize

c++ - 在类方法之间传递 QImage 对象

我有两个功能。在一个函数中,我有一个QImage然后我想将该QImage传递给另一个函数。这两个函数都有不同的参数。请告诉我该怎么做?CMakeLists.txtcmake_minimum_required(VERSION2.4.6)include($ENV{ROS_ROOT}/core/rosbuild/rosbuild.cmake)rosbuild_init()#Qt#####################################################find_package(Qt4REQUIRED)set(QT_USE_QTGUITRUE)include(${

c++ - 在 QT 中从一个 QToolButton 切换到另一个

我想从一个QToolButton切换到QToolBar中的另一个。我使用过QStackedWidget,从一个widget移动到另一个太简单了,但在这里我无法通过使用keyReleaseEvent.mywindow::mywindow():QMainWindow(){widget=newQWidget();setCentralWidget(widget);tool=newQToolBar();vertical=newQVBoxLayout();button1=newQToolButton();connect(button1,SIGNAL(clicked()),this,SLOT(fil

c++ - 如何更改 Qt 中的窗口标题和中央小部件?

您好,我在Qt中更改窗口标题和中央小部件时遇到问题。有主窗口:classMainWindow:publicQMainWindow{//(...)QStackedWidget*widgets;Quiz*widget1,*widget2;}还有一个类测验:classQuiz:publicQWidget{publicslots:voidmyClicked();}我想在单击按钮后更改MainWindow标题,这是Quiz的一个元素(它与slotmyClicked相关联)。voidQuiz::myClicked(){static_cast(parent).myFunction();}voidMa

c++ - “类 QWidget”没有名为 'setFrameStyle' 的成员

我正在尝试按照作者所说的说明编译程序(可在此处找到:http://sourceforge.net/projects/lisem/)。但是在QtCreator中编译时,报错:类QWidget没有名为setFrameStyle的成员对于LisUIplot.cpp中的这些代码行47HPlot=newQwtPlot(title,this);48layout_Plot->insertWidget(0,HPlot,1);49HPlot->canvas()->setFrameStyle(QFrame::StyledPanel);和142smallPlot=newQwtPlot(title,this)

c++ - QOpenGLFunctions 缺少重要的 OpenGL 函数

QOpenGLFunctions似乎缺少重要的功能,例如glInvalidateFramebuffer和glMapBuffer。据我了解,QOpenGLFunctions加载了桌面OpenGL函数和ES函数的交集。如果是这样,为什么这两个功能不存在?据我所知,glMapBuffer在两者中都有。我是否误解了QOpenGLFunctions,或者它们实际上缺少函数(不太可能)? 最佳答案 QOpenGLFunctions仅公开OpenGL2(+FBO)和OpenGLES2的公共(public)子集。这就是为什么您的函数不存在的原因。g

c++ - 有没有办法保存列的顺序?

我目前有一个TableView附加到派生自QSortFilterProxyModel的类。现在我想知道是否有任何方法可以存储列的顺序,因为用户倾向于来回移动列。当用户更改列的顺序时,是否还会发出任何信号。我搜索this但是当列移动时我找不到任何可能告诉我的东西以及我如何保存tablew列订单。任何建议将不胜感激 最佳答案 您需要使用QTableView::horizo​​ntalHeader获取QHeaderView对象。您可以使用QHeaderView::saveState和QHeaderView::restoreState来保存

c++ - 来自 HBITMAP 的 QImage

在我的纯Windows程序中,我使用了一个第三方库,它返回一个HBITMAP。有没有办法从其内容初始化QImage,即将其转换为QImage? 最佳答案 这是Qt4(QtGui)的实现方式:QImageimage(QPixmap::fromWinHBITMAP(hBitmap).toImage());这是Qt5(QtWinExtras)的实现方式:QPixmappixmap=QtWin::fromHBITMAP(hBitmap);QImageimage=pixmap.toImage();//orQtWin::imageFromHBI

c++ - 如何在用鼠标移动时捕捉 QWidget 几何图形?

当用鼠标拖动小部件时,宽度会自由移动(带框架的小部件)。我想要实现的是让移动的小部件捕捉到某些区域,例如屏幕的其他小部件或边框。例如,Winamp中的播放列表窗口与主窗口对齐。如何实现这种行为? 最佳答案 如果您的小部件只是您应用程序的一小部分,那么我会提供与第一条评论相同的内容。你应该使用一个QMainWindow然后添加一些QDockWidget到主窗口。//...QMainWindow*window=newQMainWindow();//...QDockWidget*dockWidget=newQDockWidget("You

c++ - 带有可选图形用户界面的 Qt 应用程序

我打算使用Qt编写一些图像处理程序,我希望它能够在非图形用户界面模式(守护进程模式?)下运行。我受到VLC播放器的启发,它是“典型的”GUI程序,您可以在其中使用GUI对其进行配置,但是当它在没有GUI的情况下运行时,您也可以在non-gui选项中运行它。然后它使用一些在GUI模式下创建的配置文件。问题是这样的程序应该怎么设计?应该是一些程序核心,它独立于GUI并且取决于它与GUI界面连接的选项? 最佳答案 是的,您可以使用QCommandLineParser为二进制文件使用“headless”或“gui”选项.请注意,它仅从5.3