草庐IT

Qt5Widgets

全部标签

c++ - 如何在其构造函数(Qt GUI)之后运行类方法?

在程序的main()函数中构造并显示了一个QMainwindow对象。该对象的构造函数用于创建所有GUI小部件。它包含当前在QMainWindow小部件可见之前运行的附加代码(或方法调用)。此代码/方法应在QMainWindow构造函数之后运行一次,即当应用程序窗口可见时。根据showEvent的文档,它可能会运行多次。我是否需要在此事件中使用某种切换标志,或者是否有“更好”的解决方案(我想我读到QTimer可用于将方法排入事件循环)? 最佳答案 您可以尝试使用超时为0秒的Qt单发计时器。在将回调函数连接为插槽的主窗口构造函数的末尾

c++ - 如何根据 Qt C++ 中的主题更改图标?如果可用的主题是深色或浅色

我有一个基于Qt的文本编辑器程序。它的默认主题是深色的。我想添加一个功能,当用户为switchtheme()选择QAction时,主题应该切换为亮色,图标也应该根据亮/暗变化。在我的qrc文件中,我设置了如下结构:/images|-->/theme_dark/|-->/theme_light/两个目录中的图标文件名保持相同。voidMainWindow::switchTheme(constQString&themeName){//themeNamewillbe"light"or"dark"QStringimage_path=":/images/theme_"+themeName+"/"

c++ - QGraphicsPixmapItem的Qt更新像素图

我正在使用QGraphicsPixmapItem在显示器上显示图像。现在,我希望能够即时更新此图像,但我似乎遇到了一些问题。这是头文件:classEnemy_View:publicQGraphicsPixmapItem{public:Enemy_View(QGraphicsScene&myScene);voiddefeat();private:QGraphicsScene&scene;QPixmapimage;}这是cpp文件Enemy_View::Enemy_View(QGraphicsScene&myScene):image{":/images/alive.png"},scene(

c++ - 在构造函数的初始化列表中使用 "this"对 Qt 特别危险吗?

我需要关于“这个”主题的可靠信息:classMyClass,publicQWidget{public:MyClass(QWidget*parent=NULL):QWidget(parent),mpAnotherWidget(newQWidget(this)){};private:QWidget*mpAnotherWidget;};当然,在构造器或初始化列表中调用虚函数不是一个好主意。问题是:这段代码可以吗mpAnotherWidget(newQWidget(this))导致未定义的行为?!如果是这样:为什么?如果可以,请引用您的消息来源!谢谢! 最佳答案

c++ - Ubuntu 14.04 - Qt 版本选择

我错误地将我的qt版本从4.8.5更新到4.8.6。这是安装pythonanaconda的结果。但是我正在做一个需要qt4.8.5的项目。运行qmake-v显示:$qmake-vQMakeversion2.01aUsingQtversion4.8.6inhome//anaconda/lib如何切换到我以前的qt版本(安装在默认目录,即/usr/...)?qtchooser列出了以下选项:$qtchooser-list-versions45defaultqt4-i386-linux-gnuqt4-x86_64-linux-gnuqt4qt5-x86_64-linux-gnuqt5但是尝试

c++ - Debian 上的 Qt5 示例包

如何在DebianJessie上单独获取包含Qt5示例的软件包?我有带Qt5的QtCreator,可以开发Qt应用程序,但是我没有示例。当我搜索Qt时,SynapticPackageManager出现了太多的匹配项。我认为最接近我想要的是qtbase5-examples,但我不能100%确定这是否是我必须下载的。 最佳答案 这些文件由qtbase5-examples提供,这是正确的。但是,文件没有安装在明显的路径中,这取决于体系结构:/usr/lib/x86_64-linux-gnu/qt5/examples/[amd64]/usr

c++ - 如何在Qt中设置一个应用程序图标

我在尝试为我的QT应用程序设置图标时遇到了一些问题。图标名为“room.ico”,与源文件位于同一目录。代码如下:#include#includeintmain(intargc,char*argv[]){QApplicationapp(argc,argv);QWidgetfenetre;fenetre.setWindowIcon(QIcon("room.ico"));//Nothinghappensfenetre.setWindowTitle("Heloo");fenetre.show();returnapp.exec();}我尝试在.pro文件中添加win32:RC_ICONS+=r

c++ - 读取输入时Qt控制台应用程序问题

当我尝试从Qt控制台应用程序获取输入时,程序未按预期运行。以下按预期工作:#include#includeQTextStreamcout(stdout);QTextStreamcin(stdin);intmain(){QStringmsg("Helloworld!");cout输出:Helloworld!但是一旦我添加,...intmain(){QStringmsg("Helloworld!");cout输出:Helloworld!被显示,但程序在显示输入文本的提示之前等待输入,而不是先显示提示然后读取输入。输入的文本与输入时的提示一起(之后)显示。我已经尝试解决这个问题几个小时了,但

c++ - 指向数据结构中元素的指针安全吗? (C++ 与 QT)

我正在开发的软件具有以下结构:ClassA:QHashClassB:QHashClassC:QMap>(thisisbecauseIneedtohavetheitemsordered)QHash>(thisexistssoIcanaccessanitemviaid)我的问题是,将要编辑的指针指向数据结构中的元素是否安全。我在尝试调试时遇到错误,其中调试器无法在断点处停止,并且出现SIGTRAP错误,但我不确定这是否与内存问题有关。举一个更好的例子,与我正在开发的软件相关,我有一个QHash表示视频列表。用户一次只能编辑一个视频,所以我有一个指向当前视频的指针,它是哈希中的一个Take。

c++ - 如何禁用QT中的最大化按钮?

我想禁用Qt中的最大化按钮我试过了setWindowFlags((windowFlags()|Qt::CustomizeWindowHint)&~Qt::WindowMaximizeButtonHint); 最佳答案 要关闭默认窗口上的最大化按钮,请在您的Ui文件中设置窗口的最大大小。例如:当您运行程序时,您会注意到“最大化”按钮是灰色的。如果您希望您的窗口始终只有一个尺寸并且不让用户控制更改它,请将几何尺寸和最小尺寸设置为这些相同的值。 关于c++-如何禁用QT中的最大化按钮?,我们在