草庐IT

Qt-Quick

全部标签

c++ - Qt 是否有与 Boost 的分配模块等效的东西?

在Boost中,有一些方便的函数可以让您在一行中填充一个容器。例如,list_of让你像这样填写一个列表。#include//for'list_of()'#includestd::listprimes=boost::assign::list_of(2)(3)(5)(7)(11);在我的项目中,我使用的是Qt,无法使用Boost。是否有类似方便的方法在构建时填充Qt的容器? 最佳答案 您可以使用QList::operatorQListprimes=QList() 关于c++-Qt是否有与B

Qt : has initializer but incomplete type 中的 C++ 错误

voidFindWords::getTextFile(){QFilemyFile(":/FindingWords2.txt");myFile.open(QIODevice::ReadOnly);QTextStreamtextStream(&myFile);QStringline=textStream.readAll();myFile.close();ui->textEdit->setPlainText(line);QTextCursortextCursor=ui->textEdit->textCursor();textCursor.movePosition(QTextCursor::S

c++ - 如何在Qt中的MouseReleaseEvent中获取释放的按钮

在MouseReleaseEvent(QMouseEvent*e)中,有没有办法在不使用新变量的情况下知道释放了哪个按钮?我的意思是像MousePressEvent(QMouseEvent*e)中的e.buttons()。我在releaseEvent中尝试了e.buttons()它不起作用(这是合乎逻辑的)。 最佳答案 e已经是一个变量。只需使用:voidmouseReleaseEvent(QMouseEvent*e){if(e->button()==Qt::LeftButton)//Leftbutton...{//Dosometh

c++ - Qt/C++ 在没有子类化的情况下重写函数

我想覆盖QWidget的虚函数而不对其进行子类化。在java中是可能的。我找到了这个链接:overridingmethodswithoutsubclassinginJava不确定C++中是否也有方法。有什么想法吗? 最佳答案 没有继承就不能覆盖。链接示例中的代码进行子类化。也许混淆来自于它不使用extends关键字的事实。它创建了XStream的匿名子类并覆盖了它的方法。这样的类也存在于C++中,类似的代码也是可能的。命名约定有点不同。没有名称但有命名实例的类称为未命名†。以下是我对代码的音译,以展示如何在C++中使用未命名类来完成

c++ - 当我尝试使用异常时,为什么我的代码在 Qt Creator 中使用 -fno-exceptions 进行编译?

在我指定的项目.pro文件中:QMAKE_CXXFLAGS+=-fno-exceptions但我能够在我的应用程序中抛出异常。对此有什么想法吗?示例:这不应该起作用,但它起作用了#include#includeintmain(intc,char**v){QApplicationapp(c,v);try{throw1;}catch(inti){}returnapp.exec();} 最佳答案 您不能通过设置QMAKE_CXXFLAGS来关闭异常,因为此选项由CONFIG处理。你应该使用CONFIG-=exceptions关闭它们。QM

c++ - 如何使用 Qt 确定我的互联网 IP 是否属于给定的 IP 列表

我在TXT文件中存储了以下IP列表(CIDR格式):58.200.0.0/13202.115.0.0/16121.48.0.0/15219.224.128.0/18...但是我不知道如何确定我的IP是否属于这个列表。我在Windows平台上使用QtC++框架。 最佳答案 首先,您需要将每个CIDR表示法范围分解为网络(带点的IP地址)部分和一些位。使用此位数生成掩码。然后,你只需要测试是否(range&mask)==(your_ip&mask),就像您的操作系统一样:一些伪C代码:my_ip=inet_addr(my_ip_str)

c++ - Qt - 编译器在我的 MainWindow 上调用 setLayout() 时报错

我想学习如何在没有设计器的情况下手工创建图形用户界面。我试图向我的MainWindow添加布局,但在运行时显示QWidget::setLayout:AttemptingtosetQLayout""onMainWindow"",whichalreadyhasalayout这是我的代码://HeaderclassMainWindow:publicQMainWindow{Q_OBJECTpublic:MainWindow(QWidget*parent=0);~MainWindow();private:QHBoxLayout*layout;};//Constructorinmy*.cppMai

c++ - Qt Creator "override method"快捷方式?

QtCreator有没有像eclipse一样的“覆盖方法”快捷方式?对于那些不了解Eclipse的人,有一个显示对话框的上下文菜单“Source>OverrideMethod”。检查您要覆盖的方法,它将为这些方法生成stub。 最佳答案 右键单击类名从上下文菜单中选择Refactor->InsertVirtualFunctionsofBaseClasses顺便说一句,我使用的是QtCreator3.4.1。 关于c++-QtCreator"overridemethod"快捷方式?,我们在

c++ - QT - 取消选中复选框

请大家告诉我如何使用QTC++取消选中复选框。 最佳答案 您可以使用setChecked()来自QAbstractButton的方法。QCheckButtonb;b.setChecked(false);//Uncheckit或者您可以使用setCheckState()setCheckState()来自QCheckButton的方法。这使您可以选择“部分取消选中”它。QCheckButtonb;b.setCheckState(Qt::Unchecked); 关于c++-QT-取消选中复选框

c++ - Qt/c++随机字符串生成

这个问题在这里已经有了答案:CreatearandomstringornumberinQt4(7个答案)关闭9年前。我正在创建一个应用程序,我需要在其中生成多个随机字符串,几乎就像一个由一定长度的ASCII字符组成的唯一ID,其中混合了大写/小写/数字字符。是否有任何Qt库可以实现此目的?如果不是,在纯C++中生成多个随机字符串的一些首选方法是什么?