我有一个构建dll/共享库的Qt项目和另一个测试库的Qt项目
有没有什么好办法让qmake将dll复制到测试项目的输出文件夹中?这可能不是一个“好”办法,但可能会奏效
QMAKE\u POST\u LINK+=复制dll的一些shell命令我使用安装(QMAKE文档)将此添加到您的pro文件:
target.path = ../testProject/$$TARGET
INSTALLS += target
对于QextSerialPort库,这是可行的。支持Qt的调试和发布模式
QMAKE\
在Windows Mobile和Symbian平台上,我如何通过单击应用程序中Qt下的某个按钮来最小化我的应用程序?可能适合您,最小化状态为Qt::WindowMinimized。。因此,如果您的基本小部件是QMainWindow,则可以在其上使用此函数
它适用于桌面应用程序。。不过,手机应用程序也应该如此
希望它能帮助…对于一个QWidget,这是一个你可以使用的方法
我最近重新编译了Qt,以便可以使用静态库而不是共享库。但是现在,当我试图编译我的项目时,我得到了以下错误:
尚未设置QMAKESPEC,因此无法推断配置
这似乎是一个常见的问题,我在发布之前做了一些研究。让我困惑的是,我确实设置了QMAKESPEC env变量。下面是printenv QMAKESPEC
/usr/local/Trolltech/Qt-4.4.0/mkspecs/linux-g++
另外,这里是qmake-queryqmakespec的输出
linux-g++
我也尝试过使用这些
我是Qt创造者的新手。我想在我的表单上添加一个按钮,当你点击它时,它会显示一个名字列表,例如(我想我说的是一个下拉按钮)。我没有在qt creator中找到它
谢谢 它在Qt Creator中被称为组合框,属于“输入小部件”类别
编辑:
要选择某些特定文本,您需要找到文本的索引,然后选择该索引:
int index = comboBox->findText(someText);
comboBox->setSelectedIndex(index);
谢谢你的回答。我还有一个问题。如何
我使用QtCreator创建了一个“键盘”窗口,其中有60个QpushButton和一个QLineEdit。如何制作向QLineEdit文本框添加字符的按钮?如果我按下带有标签“Q”的QPushButton,我希望程序在文本框中添加Unicode字符“Q”。一种方法是将所有按钮的“单击”信号连接到一个插槽,然后在那里处理字符的添加
例如,如果所有键盘按钮都位于名为“buttonLayout”的布局内,则在主窗口构造函数中可以执行以下操作:
for (int i = 0; i < ui-&g
标签: Qt
qlistwidgetqscrollarea
我是Qt的新手,我有个问题
我的UI中有一个QListWidget,有7个项目,只显示4个项目,另一个在使用滚动条后显示。我想在QListWidet的上方和下方显示一个箭头图像,这样可以显示更多要滚动的项目
好的,我可以查看一个项目是否被隐藏,但只要它被setHidden()函数隐藏即可。什么时候被卷轴隐藏?我可以在运行时看到这个吗?因为项目在那里,但滚动隐藏了它,对吗
我在这里搜索了一些关于这个的帖子,但没有找到。对不起,我的英语,可能是困惑,但如果有人可以帮助我
非常感谢 下面是一个基本的例
我想我在任何地方都没有见过这种比较,但它们会被认为是一样的吗?如果没有,为什么不呢?发布订阅与信号和插槽相同。。。
检查这个
它们非常相似,但有一点不同:
信号/时隙实现观察者模式,其中生产者有一个对其订户的引用,并负责通知订户
发布/订阅范例插入了一个额外的中介,即主题处理程序,它将生产者和消费者解耦(生产者不知道谁将消费消息)
一个主要的结果是,在p/s范式中,您可以在同一主题上有多个生产者
这(可能)是关于p/s被引用最多的一篇文章:
+1这是一个重要的技术区别。实际上,这意味着在p
我在QGridLayout中有QPushButton对象和QLabel对象。此QGridLayout设置为QGroupBox对象。现在如何检索此组框中有效存在的QPushButton?
我尝试了以下代码,但它没有返回有效的QPushButton对象
QGroupBox *grpBox = 0;
grpBox = (QGroupBox *)ui.tableWidget->cellWidget(fromRow, 0);
QGridLayout * gridLayout
当我在Qt Creator中运行这个最小程序时,我收到了错误“gdb进程崩溃”:
以下是gdb日志:
ADAPTER SUCCESSFULLY STARTED
NOTE: ENGINE SETUP OK
State changed from EngineSetupRequested(1) to EngineSetupOk(3).
QUEUE: SETUP INFERIOR
State changed from EngineSetupOk(3) to InferiorSetupRequested(
标签: Qt
printfconsole-applicationqdebug
我正在使用Qt框架的qDebug()来处理屏幕上的printf内容。当我从Qt Creator运行应用程序时,它工作得很好,但当我尝试从Windowscmd执行它时,它没有显示任何内容。为什么会发生这种情况?您必须添加
CONFIG += console
到您的项目.pro文件和不要忘记清理和构建(重建)您的项目。使用
application.exe > log.txt 2>&1
它将stderr重定向到stdout,并将stdout重定向到文件。谢谢。它起作用了。我想我
标签: Qt
stylesheetqtreeview
如何在QTreeView中设置选中项的样式。我有以下代码:
QTreeView::indicator:checked, QTableView::indicator:checked
{
image: none;
}
QTreeView::item:checked, QTableView::item:checked
{
color: rgb(120, 120, 120);
}
指示器显示时不带图像,但选中的项目仍以常规文本颜色显示
我创建的qml文件如下所示:
main.qml
Item {
width: 200; height: 200
Loader { id: pageLoader }
MouseArea {
anchors.fill: parent
onClicked: pageLoader.source = "Page1.qml"
}
}
我想从Page1.qml返回主页
如何完成这项工作?只需将Page1中pageLoader的
我是Qt新手,需要帮助获取表小部件中combobox的值
我使用“setCellWidget”向表格小部件(名称为“tableWidget_4”)添加组合框(在我的示例中,其名称为“settingA”):
我想在这里做的是:
单击按钮(在我的示例中,其名称为“ApplyComboButton”)时,我希望组合框(设置a)的值可以保存到QStringList(InputComboData)中,我就是这样尝试的:
void主窗口::在\u ApplyComboButton\u单击()
{
QS
标签: Qt
isometricjqtransform
我在QT中绘制等距网格时遇到很多问题。仅剪切操作本身是正确的,并且缩放也是正确的,但只要我在末尾添加旋转,网格就不再匹配我的参考:
有人能帮我理解为什么QTransform会产生错误的结果吗
void drawForeground(QPainter * painter, const QRectF& rect) //Draw isometric grid
{
if(!CurrentActiveMap)return;
QColor Col(0, 0, 0, 128);
我有两个类,在第一个类中,我有一个QPushButton,在第二个类中,我有一个QLabel(我把它放在“public”上)。我想当用户在第一个类中单击按钮时,第二个类中的QLabel将更改文本。我认为我应该编写一个函数来实现这一点,当用户单击按钮时,按钮将调用此函数,这就是我的函数(在我看来):
这就是我在第一节课上用按钮来称呼它的方式:
connect(button, SIGNAL(clicked()), this, SLOT(buttonClicked(B)));
但我不知道为什么当我点
我试图使用一个从命令行设置的标志,这样当它被输入时,一个pri文件会设置要在另一个pri文件中使用的变量。设置变量的pri工作正常,但是当我试图从另一个pri访问该变量时,我没有得到任何结果
例如在cmd中
qmake (parameters) --variable_name
在parent.pri中
contains(options, --variable_name) {
variable_name = true
message("variable_name =
我开始将NCReport集成到我的应用程序中,但总是会出现这些错误
她是我的.pro文件
#-------------------------------------------------
#
# Project created by QtCreator 2013-08-14T17:44:33
#
#-------------------------------------------------
QT += core gui sql xml
greaterThan(QT_M
Ubuntu 12.04 LTS
$ qmake -v
QMake version 2.01a
Using Qt version 4.8.1 in /usr/lib/x86_64-linux-gnu
Qt版本:
$ qmake -v
QMake version 2.01a
Using Qt version 4.8.1 in /usr/lib/x86_64-linux-gnu
.pro文件:
TEMPLATE += app
QT += core gui declarative
SOURCES
我在Qt4设计器中设计了一个GUI,然后使用pyuic4将其编译成Python代码
以下是编译的结果代码:
# -*- coding: utf-8 -*-
# Form implementation generated from reading ui file 'Playmyflix.ui'
#
# Created: Fri Oct 18 21:22:19 2013
# by: PyQt4 UI code generator 4.9.3
#
# WARNING! All change
我的代码很简单:
port->setPortName(s);
bool status = port->open(QSerialPort::ReadWrite);
if(status)
{
port->setBaudRate(115200, QSerialPort::AllDirections);
port->setDataBits(QSerialPort::Data8);
port->setParity(QSerialPort::NoP
QToolTip.showText/hideText以及QWidget.setToolTip()都有一些限制,这给我的需要带来了不便。所以我想实现我自己的类,它的行为类似于工具提示。我正在使用QLabel,设置windws标志和属性,一切正常,只是它对鼠标事件不透明
在创建应具有此自定义工具提示的小部件时,我使用以下代码段:
toolTipWidget = QtGui.QLabel()
toolTipWidget.setFrameShape(QtGui.QFrame.StyledPanel)
t
我已经测试了QML和javascript的性能。如果QML UI控件很复杂,那么它看起来效果不是很好。
只是想知道是否可以绑定javascript和QTWidget
欢迎发表您的评论我发现了以下为Qt脚本生成Qt绑定的项目。不过我还没试过
建议将Javascript代码保持在最低限度。因为正如您所提到的,它对性能不利,尤其是在动画期间运行时。我不知道你在做什么,但是最好用QMLimabaseJavaScript和Qt C++实现逻辑。
我需要一个小部件相对于它所在屏幕的位置。
现在,我只能通过QDesktopWidget.screen(number).size()计算屏幕和该屏幕的分辨率。当然还有全球地位。但是如何在单个屏幕上获得位置呢 要从全局位置转换到屏幕位置,可以使用以下功能:
QPoint globalToScreen(QPoint pt)
{
return pt - QApplication::desktop()->screenGeometry(pt).topLeft();
}
这是通过获取点所在屏幕的几
我的表单中有一个列表视图,我有一个项目委托。我需要做的是从我的项目代表的角度改变项目的背景颜色
好吧,假设我有一个Listview,我用这个列表填充了它
"Blue",
"Red",
"Green"
另一方面,我的listview有一个项目委托。我需要用它们自己的颜色更改这些项目的背景色。您必须覆盖代理中的绘制(self、painter、option、index)功能,才能更改项目的绘制方式
例如:
class MyDelegate(QItemDelegate):
#...
在qt设计器中使用拖放。我做了一个网格布局,添加了一个图形视图,并提升了图形视图,即添加了一个自定义小部件。
在我的项目之后,我添加了一个新的类graphicsview,我正在尝试在graphicsview中添加文本
1) 它不命名类型
2) graphicsview声明超出范围。
另外,下面是我的整个代码的链接。请告诉我需要做什么来解决它。
唯一的问题是您将小部件升级为graphicsview,而不是graphicsview。嗨!请注意,您有两个不同的QGraphicsView。正如您所说,您
大家好,我有一个从QObject继承的foo类,我想使用QSettings进行序列化。
foo.h中的代码
namespace GUI
{
class Foo : public QObject
{
Q_OBJECT
Q_PROPERTY(QString mem1 READ mem1 WRITE setMem1 NOTIFY mem1Changed)
Q_PROPERTY(QString mem2 READ mem2 WRITE setMem2 NOTIFY mem2Changed)
Q_PROP
我正在尝试创建一个能够控制Amptek 8000a MCA(一种通过COM端口连接用于辐射检测的设备)的Qt程序。制造商提供了C++、LabVIEW和VB,但是我在QT(C++)中有很多问题来识别DLL。我已经使用Qt内置的add library函数添加了库,但是我得到了很多错误未定义引用…例如错误:未定义引用PmcaPowerUp@4。我的pro文件的相关部分如下所示:
win32: LIBS += -L$$PWD/Libraries/ -lPMCADLL
INCLUDEPATH += $$
当通过单击或使用上下箭头键更改项目选择时,如何使QListView发出名为onListViewItemSelectionChanged的自定义信号,因此,我可以指定一个名为changeLineEditText的自定义插槽来处理信号?您可以获取列表视图的selectionModel,并将您的插槽连接到其currentChanged信号:
connect(listView->selectionModel(),SIGNAL(currentChanged(const QModelIndex &a
我已经创建了一个简单的应用程序,我需要从pixmap导出到16位bmp图像。我有几个pixmap项目,所以我有这样的for循环,我首先创建QImage并将其转换为格式_RGB16:
for(QList::iterator it=imageItems->begin();it!=imageItems->end();it++)
{
...
//图像处理程序继承QPixmap
QFile导出图像(路径+“/img+代码+”.bmp”);
QImage export_img=(*it)->toImage(
我在QT5中的SQLite数据库有问题。我有一个名为“mytable”的表,我试图在那里保存、更改或加载数据。该表如下所示(代码):
然后我试着像这样处理这个数据库(代码):
void主窗口::在按钮上单击保存()
{
阿克萨州艾奇科的杰梅诺;
IDcko=ui->lineEdit_ID->text();
jmeno=ui->lineEdit_Name->text();
ak=ui->lineEdit_Akcie->text();
打开_连接();
QSqlQuery查询;
准备(“在mytab
手头的任务是实现一个拖放处理程序,该处理程序允许拖动元素
窗间
窗外
所需的行为类似于浏览器选项卡:通过将选项卡从一个浏览器窗口拉到另一个浏览器窗口,选项卡可以在窗口之间移动。将选项卡从窗口中拉出将创建一个新的浏览器窗口,其中该选项卡处于打开状态
我想在我的程序中复制这个
我看到了几种手动实现的可能性,但是有没有一些简单的方法可以通过Qt中包含的电池实现这一点?afaik没有这样的“一条线”来实现这一行为
一种方法是,应用程序将有关选项卡的所有必要信息存储在剪贴板中,并知道如何解释这些信息以
标签: Qt
auto-updateqt-installer
我目前正在使用Qt安装程序框架,并设法建立了一个在线存储库。我想知道的是:
该框架是否提供某种“自动更新”机制,例如每次程序/系统启动时检查更新的插件/服务?
检查更新就足够了,因为安装本身可以使用维护工具完成
关于这个话题,我能找到的只有一句话:
最终用户可以在初始安装后使用维护工具从服务器安装其他组件,并在服务器上发布更新后立即接收内容的自动更新
从这里开始:
谢谢你的帮助
编辑:建议
基于这个问题的公认答案,我创建了一个小型库,用于使用安装程序框架自动检查更新-指南中有一节介绍如何执行更新
我正在使用WebEngine Qt Quick Minimal示例构建一个简单的程序来加载包含一些文本和视频的页面,该页面使用Adobe Flash Player显示。
我可以在我的Google Chrome上看到视频,但当我尝试加载上述示例中的页面时,出现以下错误,而不是Adobe Flash Player:
此视频需要Adobe Flash Player 10.2
我已经为每个浏览器下载了Adobe Flash Player插件,但没有发生任何更改 在WebEngine中使用flash pl
标签: Qt
scrollbarqtreeviewredraw
就像前面描述的标题一样,当我在QTreeView中重新绘制有标题(QHeaderView)的滚动条时,滚动条的高度是QTreeView的整个高度,我想让滚动条的高度等于QTreeView的高度减去标题的高度。如下图所示:
您的问题的解决方案可能是将垂直滚动条的位置设置为从QHeaderView获取的恒定偏移量值(在y轴上)
这可以通过子类化QTreeView来实现,如下所示:
class MyTreeView : public QTreeView
{
public:
MyTreeView
我在Qt中有一个透明的应用程序窗口。此窗口包含矩形和按钮等元素。在某些计算机上,一切正常(主窗口是透明的,我可以看到窗口上的项目)。在其他计算机上,窗口不是透明的,而是黑色的
重要提示:如果透明对象是矩形,则透明似乎有效,但如果其位于ApplicationWindow中,则透明不起作用
1) 我知道这些其他计算机可以管理透明度,因为我尝试了其他具有透明度的商业软件,它可以工作。我只是不知道如何使用Qt5
2) 最坏情况:我想这与图形卡有关。在我的软件中,我可以问一下图形卡是否具有所需的规格(我不
标签: Qt
qtableviewqsortfilterproxymodel
我有一个QTableView,它的数据模型是从我自己创建的QSortFilterProxyModel派生的类。在这个类中,我们重新实现了方法filterAcceptsRow,以便能够根据几个标准过滤表中的数据。我还可以按表中的任何字段对表进行排序
当用户单击“创建”按钮时会出现问题,该按钮会在表中创建一个新的空行。如果应用了筛选器,空行不会出现,因为它不符合此筛选器,我不希望出现这种情况,因为用户必须开始强制编辑其数据
此外,当我按字段对表进行排序时,当我添加空行时,它会根据排序标准自动将自身定
我在QStackedWidget中有一个QTreeWidget。如何在QStackedWidget中将QTreeWidget设置为100%宽度和100%高度
该QTreeWidget应具有与其QStackedWidget父级相同的大小
具有响应性设计
图片:
在Qt Designer中,单击树中每个元素顶部中心附近的3x3框。它被称为在网格中布局,看起来快捷方式可能是Ctrl-G。其他两个布局选项是在表单布局中布局和中断布局。听起来您的所有小部件/容器当前都设置为Break-Layout
标签: Qt
drag-and-dropqabstractitemmodelqabstractitemview
我注意到在qabstractemview的源代码中,方法void startDrag(Qt::DropActions supportedActions)在类型为MoveAction()的拖动后调用了一些clearRemove()private,从而删除了选定的项
关键是,当drop操作发生在同一视图中时,我的模型使用moveRows()实现该操作,因此移动行,然后clear或remove()将它们删除,就像它们是原始行一样
如何防止最后一次移除?我是否错过了实现仅移动模型的惯用方法(即项目可以移
标签: Qt
Qml
orientationapplicationwindow
我想在默认情况下将我的应用程序设置为180度方向。在ApplicationWindow级别旋转屏幕的API是什么?我的应用程序中有工具栏和状态栏,因此我需要旋转应用程序窗口本身。您可以使用页面组件作为应用程序窗口
ApplicationWindow {
visible: true
width: 640
height: 480
title: qsTr("Hello World")
Page{
rotation: 180
an
是否有任何可以绑定的信号允许我在属性更改之前和之后直接执行函数
例如,类似这样的事情:
Canvas {
id: canvas
anchors.fill: parent
property real lastX
property real lastY
property var lastContext
function cacheImage(){
lastContext = canvas.context
}
fu
我有一个背景图像a,我想将文本从下到上对齐。在我的例子中,背景图像是固定的,我无法旋转它,所以我只是尝试旋转文本!但是,我不能很好地对齐它
背景图像(无法旋转)
我想要的结果(就像左对齐、居中对齐和旋转-90)
我试过这个代码,但没有成功!我想原因是旋转中心
Text {
text: name;
anchors.verticalCenter: parent.verticalCenter; // Centering text
标签: Qt
qt5qtquick2qtquickcontrols2
我是QtQuick 2开发新手,目前正在学习布局。
在我的应用程序中,我只是在列布局中放置了3个矩形
顶部为高度为30的“标题”矩形
底部的“页脚”矩形,高度为30
中间有一个“主体”矩形,用于填充剩余空间
当我通过将应用程序窗口捕捉到屏幕顶部来最大化Windows 10上的窗口时,所有内容都会正确调整大小,但“旧”页脚矩形仍保留在原来的位置。我注意到它一直在那里,直到我单击一个按钮或执行一些操作,迫使UI最终刷新并删除页脚原来所在的位置。因此,当我在应用程序中放置不确定的progressb
在小屏幕上,很难点击小箭头来显示QTool按钮的菜单。有没有办法使可点击区域变大。不幸的是,QToolButton::instantpoup不会触发按钮自己的操作,否则它将是完美的 qtoolbutton的样式表可以修改如下:
QToolButton[popupMode="1"] { /* only for MenuButtonPopup */
padding-right: 20px; /* make way for the popup button */
}
/* the subcontrol
标签: Qt
tooltipqabstractitemmodel
我试图显示QAbstractItem的工具提示,但仅当我将鼠标悬停在装饰上时
如果我设置了Qt::ToolTipRole,那么如果我将鼠标悬停在整个项目上,就会得到工具提示
对model::data(..)的调用只接受和索引以及角色,因此我无法指定工具提示在其中有效的区域
以前有人做过这样的事吗
我也为模型设置了一个委托,并认为我可以使用编辑器事件,但它没有捕获QEvent::Tooltip
也许只需将事件筛选器应用于委托或视图就可以有所帮助?我将使用安装在“目标项目”视图上的事件筛选器按以下方
我有两个单独的PNG图像,其中包含许多字体单元格,需要作为字体一起呈现,其中任何字符都可以来自两个PNG图像中的一个单元格。这在Qt Quick中可以用任何方式实现吗?一切都是可能的,但你需要自己实现这个功能。@user1095108是的,这是一般的编程理论,如果这是我想要的答案,我甚至不会在任何地方问这个问题。但我显然在寻找更具体的东西。作为对我问题的修正,其他Qt开发人员在解决这个问题时可能有哪些实现想法?呵呵,尝试找到一个位图字体渲染库,然后将其移植到Qt。你的问题太笼统了,这就是我给出笼
标签: Qt
qstandarditemmodelqsortfilterproxymodel
我有一张这样的桌子
在此表中,缩写和含义是标题。当我们点击它时,项目应该被安排好。但当我们点击时,我需要的顺序是:
|Last Used or |Last Used
|--FBI |--PIG
|--PIG |--FBI
|Something |Something
|--ADIDAS
我想检查是否正在使用QML同时按下鼠标和空格键
我可以检查鼠标和其他修改键是否被按下。例如:
MouseArea {
onPressed: {
if(mouse.modifiers & QT.ControlModifier) {
// do something
}
}
}
但是,我知道如何检查键的唯一方法是在keys.onPressed处理程序中。鼠标earea on pressed和键之间是否有通信的方法。on on pressed同时按下?以下是
我想知道为什么这会在项填充之外绘制图标组件?使用Qt5.5.1
import QtQuick 2.5
Item {
id: root
// width: 960 // Actually set in the higher level view
// height: 540 // Actually set in the higher level view
ListModel {
id: items
ListElemen
我有两个节点PW_KeyGrip和PW_PalmerGrasp,两个节点中的节点子节点名称相同
<PW_KeyGrip>
<PW_p1_EDC>173</PW_p1_EDC>
<PW_p2_EDC>78</PW_p2_EDC>
<PW_p2_FDS>196</PW_p2_FDS>
</PW_KeyGrip>
<PW_PalmerGrasp>
<PW_p1_EDC&
我遵循Qt文档的指南,完成了一个自定义小部件插件。现在它可以在QtDesigner中成功运行。
这就是我提到的例子:
这是一个有三只指针的时钟部件
我想通过qss改变手的颜色,就像这样:
时钟{
时针:333333;
分针:F7F7;
二手:中交;
}
我阅读了关于QStyle的文档、关于QStyleOption的文档和关于QStylePlugin的文档。但是我还没有很好地理解它们之间的关系,我也不知道应该使用什么类来解决我的问题。Qt样式表专用于绘制预定义的小部件,因为它的实现是Qt私有