草庐IT

Qt5Webkit

全部标签

c++ - 使用 QAudioOutput (qt) 进行实时流式传输

我想播放实时声音以响应用户交互而没有明显的延迟。为了低延迟,我必须发送小块的pcm数据。我在做什么:QAudioFormatformat;format.setSampleRate(22050);format.setChannelCount(1);format.setSampleSize(16);format.setCodec("audio/pcm");format.setByteOrder(QAudioFormat::LittleEndian);format.setSampleType(QAudioFormat::SignedInt);QAudioDeviceInfoinfo(QAud

c++ - 如何在 Qt 中使用 QGraphicsItem 的 itemChange

我有自定义椭圆QGraphicsItem类和自定义线类。在现场,我假设有两个椭圆和它们之间用一条线连接起来。Ellipse有一个指向这条线的指针并且是可移动的。我的问题是我不知道如何使用QGraphicsItem中的itemChange()。我想建立会随着椭圆运动而变化的联系。所以我想使用itemChange()方法来更改线坐标,使其始终位于椭圆的中心。我阅读了来自QGraphicsItem::itemChange()的文档但我不知道如何在我的案例中使用它。 最佳答案 正如其他人已经指出的那样,您需要覆盖(重新实现)类中的方法。下面

c++ - Qt::WA_DeleteOnClose

我正在学习Qt并尝试“FoundationsofQtDevelopment”一书中的一些示例。在这本书中,有一节讲授单文档界面,并举例说明创建一个像记事本这样的简单应用程序。MainWindow::MainWindow(QWidget*parent):QMainWindow(parent),ui(newUi::MainWindow){ui->setupUi(this);setAttribute(Qt::WA_DeleteOnClose);setWindowTitle(QString("%1[*]-%2").arg("unnamed").arg("SDI"));connect(ui->d

c++ - 使用 Qt::X11BypassWindowManagerHint 标志时窗口没有获得焦点

我需要创建窗口,它始终保持在顶部,没有边框和控件。所以我这样做了:MainWindowwindow;window.show();MainWindow类如下所示:MainWindow::MainWindow(QWidget*parent):QWidget(parent,Qt::Window|Qt::WindowStaysOnTopHint|Qt::X11BypassWindowManagerHint|Qt::FramelessWindowHint){}voidMainWindow::keyPressEvent(QKeyEvent*event){if(event->key()==Qt::K

c++ - 部署 Qt QML 编译的可执行文件

所以我有一个简单的应用程序,它使用QML作为我的图形界面,使用C++代码来处理一些逻辑。我一直在寻找一种将QML编译成C++代码并将其链接到我的二进制文件的方法,并在Qt主页上找到了这个页面:http://doc.qt.io/QtQuickCompiler/基本上它说对我所有的QML图形界面文件使用资源系统,并将QML编译器标志添加到我的.pro文件中的qmake配置行,一切都应该顺利进行。据我所知,一切都可以正常编译,但是当我使用Qtwindeployqt.exe工具获取所有依赖文件并在干净的系统上对其进行测试时,我会看到一个小白屏,就好像我的QML文件是未正确加载。我有一个使用“q

c++ - 如何使用Qt检查文件夹是否可写

我正在尝试检查文件夹是否可写,以便提示错误对话框。我正在尝试这个:QFileDevice::Permissionspermissions_list=QFile(folderName).permissions();if(permissions_list&&QFileDevice::WriteUser){}但它不起作用。可写文件夹和受限文件夹都是一样的。 最佳答案 使用QFileInfo:QFileInfomy_dir(folderName);if(my_dir.isDir()&&my_dir.isWritable()){//Dosom

c++ - 如何将 CLion (1.2.4) 用于涉及 Qt Creator 的项目?

QtCreator使GUI创建变得非常容易,但我宁愿使用CLion进行编码部分,并且只使用QtCreator进行GUI编辑。 最佳答案 绝对有可能!我在Mac上,所以我做的一些事情在其他操作系统上不会完全相同。它们是小而简单的事情,一点点google-fu应该可以相对轻松地修复。步骤1:创建QtCreator项目我将在此示例中使用小部件应用程序。稍后我将讨论其他类型的项目。我强烈推荐的一件事是将构建目录(在侧边栏上的“项目”选项卡下)更改为相对路径而不是绝对路径,尤其是在进入GitHub或类似路径时。我把它改成了./QtBinDeb

c++ - qt 将数据库 sql 添加到从 cmake 导入的项目中

通常情况下,要给qt添加数据库,我们会去.pro文件中添加sql,但是我正在做的项目是从cmake导入的,所以它没有.pro文件。相反,它有一个CMakeLists.txt文件,我想将它连接到一个sqlite数据库。谁能帮我吗。谢谢 最佳答案 将Sql组件添加到find_package()命令和将Qt5::Sql添加到target_link_libraries()命令。搜索类似的东西:find_package(Qt5REQUIREDCOMPONENTSCoreQuickSql)或者像那样:find_package(Qt5SqlREQ

c++ - 另一个小部件 Qt 中的小部件

我正在尝试实现这种布局:Widget1是某个小部件(QMainWindow的中央小部件),我想在其上添加第二个小部件Widget2,但它应该位于Widget1的左下角。编辑:我之前的描述不是很有用,所以我会尝试更详细地描述它。我继承了QWidget类(classMyClass:publicQWidget)并创建了我自己的小部件,我在voidMyClass::paintEvent(QPaintEvent*event)上画了一些东西屏幕。MyClass就是我的QMainWindow的centralWidget。现在最重要的是我想添加较小的小部件(图像中的Widget2),我将在其中显示一些

c++ - Qt QString 到 QByteArray 并返回

我在从QString到QByteArray再回到QString的转换中遇到问题:intmain(){QStrings;for(inti=0;i如您所见,我用16位范围内的所有字符填充QString。然后将它们转换为QByteArray(Utf8)并返回到QString。问题是值为0的字符和值大于55295的字符无法转换回QString。如果我保持在1到 最佳答案 我的任务是将std::string转换为QString,并将QString转换为QByteArray。以下是我为完成此任务所做的工作。std::stringstr="hel