Articles of qt

Qt:如何设置主窗口的初始位置?

我认为通常窗口pipe理器决定桌面上QMainWindow位置的初始位置。 我想自己设定初始位置。 这在Windows上如何完成Qt?

在C ++中使用CMake(mingw)在CLion中引用未定义的Qt5引用

我想在新的CLion C / C ++ IDE 中用CMake学习Qt5 ,我对这些工具比较陌生 。 所以,我有这个真正简单的代码main.cpp : #include <QDebug> int main() { qDebug("Hello World!"); return 0; } 我已经按照文档结束了这个CMakeLists.txt : cmake_minimum_required(VERSION 2.8.11) project(cl_hello_world2) set(CMAKE_PREFIX_PATH D:/Qt/Qt5.4.0/5.4/msvc2012_opengl) set(CMAKE_INCLUDE_CURRENT_DIR ON) set(CMAKE_AUTOMOC ON) set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++11") set(CMAKE_VERBOSE_MAKEFILE ON) find_package(Qt5Widgets) set(SOURCE_FILES main.cpp) add_executable(cl_hello_world2 WIN32 ${SOURCE_FILES}) target_link_libraries(cl_hello_world2 Qt5::Widgets) 经过数小时和数小时的努力,我一直有这些undefined reference错误: CMakeFiles\cl_hello_world2.dir/objects.a(main.cpp.obj): In function `main': E:/Qt/test/cl-hello-world2/main.cpp:4: undefined reference to […]

Qt5 QWidget :: create()与Win32 HWNDembedded不再工作在Qt4之后的端口

下面的代码尝试使用create方法将自定义创build的OpenGL窗口的本机Win32 HWNDembedded到QWidget中: viewer_widget::viewer_widget( QWidget* parent, const viewer::viewer_attributes& view_attrib, const wm::context::attribute_desc& ctx_attrib, const wm::surface::format_desc& win_fmt) : QWidget(parent) { setMouseTracking(true); setFocusPolicy(Qt::StrongFocus); setAttribute(Qt::WA_NativeWindow, true); setAttribute(Qt::WA_PaintOnScreen, true); // disables qt double buffering (seems X11 only since qt4.5, …) setAttribute(Qt::WA_NoSystemBackground, true); setAutoFillBackground(false); _viewer = make_shared<viewer>(math::vec2ui(100, 100), parent->winId(), view_attrib, ctx_attrib, win_fmt); // ok set the native window as this widgets window…and […]

将Qt应用程序的状态保存到文件中

我有点新手,我不能保存和加载工作。 该程序有一些单选button和旋转框,我希望能够将这些位置和值保存到一个文件,并能够稍后再打开它。 这是节省: void MainWindow::on_saveButton_clicked() { QString fileName = QFileDialog::getSaveFileName(this, tr("Salvesta Projekt"), "", tr("Latid Pindalaks (*.lp);;All Files (*)")); if (fileName.isEmpty()) return; else { QFile file(fileName); if (!file.open(QIODevice::WriteOnly)) { QMessageBox::information(this, tr("Unable to open file"), file.errorString()); return; } QDataStream out(&file); out.setVersion(QDataStream::Qt_4_8); QByteArray MyArray = MainWindow::saveState(); out << (MyArray); } } 这里是加载 void MainWindow::on_loadButton_clicked() { QString fileName = […]

如何知道在Qt中连接新的USB存储设备?

我想知道何时将USB设备连接到运行我的Qt应用程序的计算机(在Windows中)。 在我的主要QWidget中,我已经像这样重新实现了winEventFilter : bool winEventFilter ( MSG * msg, long * result ) { qDebug() << msg; return false; } 我希望qDebug发送至less一些东西,当我连接一个USB设备,但我什么都没有得到。 我猜,我从根本上误解了这里的过程 – 这是我的第一个Qt应用程序!

需要将应用程序带到Windows上的前景

我在Windows上使用Qt开发了两个应用程序。 我希望用户能够在一个应用程序中按下一个button,使其他应用程序到达前台。 (程序使用QLocalSocket和命名pipe道进行通信。) 目前我正在使用Qt的QWidget :: activateWindow(),偶尔会将应用程序带到前台,但大多数时候它只是突出显示任务栏上的程序。 有人可以告诉我如何做到这一点,最好使用Qt,尽pipe如果使用WIN32 API会失败。 不幸的是,我只能用Qtfind一种方法。 我使用Chris Becke的build议从当前活动的应用程序中调用SetForegroundWindow来解决这个问题。

什么是configurationQt Creator使用Git的正确方法?

我正尝试使用Git for Windows和QT Creator 2.8一起使用,并且失败了。 我在bitbucket上创build了一个仓库,遵循bitbucket 101教程,当我使用Git Bash,甚至Git GUI时,一切都运行平稳。 PATHvariables设置正确,一切工作之外的Qt。 但是,当试图configurationQt Creator时,我无法访问远程存储库。 给出的错误是: 16:25在C:\ Users(…)中执行:C:\ Program Files(x86)\ Git \ cmd \ git.exe拉命令'C:\ Program Files(x86)\ Git \ cmd \ git。 exe“在超时限制(60000毫秒)内没有响应。 几乎所有我发现告诉我configurationpath,这应该会导致一切运行正常,但我的path设置正确(我可以键入ssh从Windows命令提示符,它的工作原理)。 Qt Creator文档( http://qt-project.org/doc/qtcreator-2.8/creator-version-control.html )告诉我应该 “select工具>选项>版本控制> Git。select环境variables和设置”HOME“环境variablescheckbox。 set "HOME"(…)框被选中,但是没有“Environment Variables”框。 SSH提示命令设置为C:\Program Files (x86)\Git\bin\ssh.exe ,但我已经尝试将其设置为\git\bin和git\cmd上的几乎每个程序都没有成功。 我在这里find了答案,告诉我使用某些版本的win-ssh-askpass或win-ssh-agent,但是这些要么需要Cygwin,要么来自可疑的来源。

Qt5:使用QProcess :: startDetached调用.bat文件在System32中找不到程序

我有一个小button的Qt GUI程序,启动一个.bat文件。 调用.bat的重要部分是这样的: void MainWindow::on_pushButton_clicked() { int r = QMessageBox::warning(this, tr("Shutdown System"), tr("Do you want to close the program and the system?"), QMessageBox::Yes | QMessageBox::Default, QMessageBox::No, QMessageBox::Cancel | QMessageBox::Escape); if (r == QMessageBox::Yes){ QProcess::startDetached("cmd /C shutdown_all.bat"); } } 我打算打电话PSShutdown ,位于C:\Windows\System32\psshutdown.exe ,当然在PATH 。 我把它放在.bat文件中用于testing目的: cd C:\Windows\System32 psshutdown PAUSE 当单独调用.bat文件时,似乎find了有关它的程序和打印信息,但是当我使用该button调用程序时,找不到psshutdown.exe 捕获结果: 用Qt程序调用.bat: 双击调用.bat(预期结果): 在向.bat添加echo %PATH%时,path也似乎在两个版本中均打印成功。 任何想法可能是错的? 这已经在两个不同的计算机上用Qt […]

Qt 5.3.1应用程序错误:无法find或加载Qt平台插件“windows”

预编译的Qt 5.3.1dynamic库,MinGW 32,Windows 8.1 x64 部署的应用程序无法在出现此错误的另一台计算机上启动: 无法find或加载Qt平台插件“窗口”

用Qt显示半透明/不规则窗口

是否可以用Qt显示半透明和/或不规则形状的窗户? (我假设它最终取决于底层GUI系统的function,但我们至less假定Windows XP / Mac OS X) 如果是这样,一个人怎么做到这一点?