Articles of qt

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

使用Areo捕捉,阴影,最小化animation和抖动的无边界窗口

我正在使用Windows上的无边界窗口进行应用程序。 但是,由于窗口是无边界的,所以我没有阴影,捕捉,最小化animation或摇动。 我环顾四周,发现没有解释如何实现这一点的网站。 不过,我知道这是可能的,因为Office 2013,Visual Studio 2012和Steam都具有这些function并且是无边界的。 我特别使用QT和C ++,但如果你已经解决了另一个窗口库,我想听听你的解决scheme。 无论是。 而且,我并不是说两边都是阴影,我的意思是所有活动的本地窗口应用程序的四面八方都有一层阴影。

如何在运行时询问用户提升的权限?

一些以普通用户开始的应用程序会在需要的时候(例如文件pipe理器需要写这样的文件夹)请求提升权限,然后继续操作。 我怎样才能复制这种行为?

热键,快捷键和加速键有什么区别?

他们有什么不同? 在Qt中,如果我有一个QPushButton的热键,我可以通过“Alt +?”来完成,但是如果是Qaction,我可以按“?” 只要