Articles of qt

如何知道在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 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显示半透明/不规则窗口

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

Qt跨平台的Windows和Mac:字体大小

我正在使用Qt框架在Windows和OS X上开发一个应用程序。 问题是我已经手动设置了一些小部件的字体大小(在UIdevise器中)。 在windows下,字体是完美的,但在osx上,它们太大了。 事实上,字体系列被转换(MS Shell Dlg 2到Lucida Grande),但不是字体大小(如果已经手动设置的话)。 所以我决定减less代码中的字体大小,使用一些#ifdef,例如: #ifdef Q_OS_MAC QFont font = ui->button->font(); font.setPixelSize(12); ui->button->setFont(font); #endif 它正在工作,但是当你有很多小部件的时候,这是一件烦人的事情,所以我对任何其他想法都是开放的。 我也有一个qtextedit有这个问题,这个解决scheme不起作用,因为它是需要调整的HTML代码。 谢谢

Exe的窗口图标在PyQt4

我在PyQt4有一个小程序,我想编译成一个exe程序。 我正在使用py2exe来做到这一点。 我可以成功地在Windows标题栏中使用下面的代码设置图标,但是当我编译成exe文件时,图标会丢失,我会看到默认的Windows应用程序。 这里是我的程序: import sys from PyQt4 import QtGui class Icon(QtGui.QWidget): def __init__(self, parent=None): QtGui.QWidget.__init__(self, parent) self.setGeometry(300, 300, 250, 150) self.setWindowTitle('Icon') self.setWindowIcon(QtGui.QIcon('c:/python26_/repy26/icons/iqor1.ico')) app = QtGui.QApplication(sys.argv) icon = Icon() icon.show() sys.exit(app.exec_()) ****这里是py2exe的setup.py **** from distutils.core import setup import py2exe setup(windows=[{"script":"iconqt.py" ,"icon_resources": [(1, "Iqor1.ico")]}] ,options={"py2exe":{"includes":["sip", "PyQt4.QtCore"]}})

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平台插件“窗口”