我创建了一个新的QWidget对象,我想知道何时按下关闭按钮。
我尝试了以下代码:
pWindow = new QWidget();
connect(pWindow , SIGNAL(triggered()), this, SLOT(processCloseButtonWindowsClicked()));
Run Code Online (Sandbox Code Playgroud)
但它给出了一个错误:
pWindow 无信号触发
如何实现这一目标?
我想创建一个Eclipse插件,只要用户打开Eclipse IDE,它就会在后台自动运行.
例如,我正在构建一个获取当前活动文件地址的Java Eclipse插件,但我希望此插件始终在后台运行,而无需用户手动运行它.
怎么做到这一点?
我使用 Windows 7 64 位 QT 5.9.1 和编译器 MSCV 2017 64 位。
我正在尝试在此环境中构建 32 位应用程序并链接到 32 位库,但我似乎无法通过正确的选项组合来实现此目的,我也不知道这是否可能。
我见过一些解决方案使用
目标= 32位二进制
QMAKE_CXXFLAGS += -m32
但我似乎不知道如何使其适应这种环境。有小费吗?
编辑:我还应该提到,我没有互联网访问权限,也没有我正在使用的计算机的管理员权限,因此不可能安装新版本。
我的项目也是一个包含 3 个不同 .pro 文件的子目录项目。当我对一个专业文件进行一项更改时,我通常会将更改应用到所有文件。
编辑2:这是为了解决错误
LNK4272:库机器类型“x86”与目标机器类型“x64”冲突
LNK2019:函数中引用的外部符号无法解析
我相信一旦我可以在 32 位中编译它,这些错误就会消失,但我不确定情况是否如此。
编辑3:我确实有一个32位版本的qt,但它在MINGW中,所以它无法正确找到QMAKE_MSC_VER等等。如果有任何关于如何使其与 MSCV2017 一起工作的提示,我们将不胜感激。
我有一个字符串。例如:
QString myString = "Today is Tuesday";
Run Code Online (Sandbox Code Playgroud)
要求是:当用户键入一个字符串时,如果该字符串包含在 中myString,则该部分myString应为粗体,不区分大小写(Qt::CaseInsensitive),但myString应保留的格式(大写字符应为大写和小写字符)应该是小写)。
例如:
tu- >今天是屠esdayES- >今天是屠ES天aY- >托德AY就是Tuesd AY这是我的功能:
void myClass::setBoldForMatching( const QString &p_text )
{
QRegExp regExp( p_text, Qt::CaseInsensitive, QRegExp::RegExp );
if ( !p_text.isEmpty() )
{
if ( myString.contains( regExp ) )
{
myString = myString.replace( p_text, QString( "<b>" + p_text + "</b>" ), Qt::CaseInsensitive );
}
}
}
Run Code Online (Sandbox Code Playgroud)
这个函数是错误的,因为 …
这是我的 C++ 文件:
#include <iostream>
#include "window.h"
#include <SDL2/SDL.h>
int main(int argc, char* argv[]) {
if (SDL_Init(SDL_INIT_EVERYTHING) < 0) {
std::cout << "Something went wrong" << std::endl;
}
else {
SDL_CreateWindow("Neptune's Limit", SDL_WINDOWPOS_CENTERED, SDL_WINDOWPOS_CENTERED, 1024, 768, SDL_WINDOW_OPENGL);
}
return 0;
}
Run Code Online (Sandbox Code Playgroud)
当我运行它时,它会闪烁半秒钟,然后立即关闭。我看过有关此问题的其他帖子,但他们的答案是关于SDL_EVENT. 我的程序中没有任何地方。
可能出什么问题了?
我正在使用 QUrl 构建字符串 url。假设我需要获取“rtsp://camera.lan/stream”网址。
下面的代码给出了“rtsp://camera.lan”url:
QUrl url;
url.setScheme("rtsp");
url.setHost("camera.lan");
auto url_str = url.toString().toStdString(); // "rtsp://camera.lan"
Run Code Online (Sandbox Code Playgroud)
这给出了“rtsp:camera.lan”网址:
url.setScheme("rtsp");
url.setPath("camera.lan");
auto url_str = url.toString().toStdString(); // "rtsp:camera.lan"
Run Code Online (Sandbox Code Playgroud)
但如果我设置主机路径,则它无效:
url.setScheme("rtsp");
url.setHost("camera.lan");
url.setPath("stream");
auto url_str = url.toString().toStdString(); // gives ""
bool url_is_valid = url.isValid(); // false
Run Code Online (Sandbox Code Playgroud)
文档说,
对于非分层方案,路径将是方案声明之后的所有内容
但是如果我需要指定路径和权限怎么办?
我想在 QLineEdit 中设置占位符文本。我正在使用以下代码来执行此操作:
QLineEdit *q = new QLineEdit;
q->setPlaceholderText("Enter number");
Run Code Online (Sandbox Code Playgroud)
但是在执行时,占位符没有设置。这里可能有什么问题?
我正在尝试使用 Qt 将游戏从磁盘或 USB 闪存驱动器复制到计算机中的硬盘驱动器,并且我想使用,QFile::copy并且保留可执行和可写等权限对我来说很重要。
在复制函数调用中我是否必须使用QFile::setPermissions或者默认情况下权限不会更改?
我一直在尝试创建一个使用 Qt Quick Controls 2 以编程方式滚动到ScrollView底部的函数。我尝试了各种选项,但我在网上找到的大部分支持都是指 Qt Quick Controls 1,而不是 2。这就是我试过了:
import QtQuick 2.8
import QtQuick.Controls 2.4
ScrollView {
id: chatView
anchors.top: parent.top
anchors.left: parent.left
anchors.right: parent.right
anchors.bottom: inputTextAreaContainer.top
function scrollToBottom() {
// Try #1
// chatView.contentItem.contentY = chatBox.height - chatView.contentItem.height
// console.log(chatView.contentItem.contentY)
// Try #2
// flickableItem.contentY = flickableItem.contentHeight / 2 - height / 2
// flickableItem.contentX = flickableItem.contentWidth / 2 - width / 2
// Try #3
chatView.ScrollBar.position = 0.0 // Tried also with 1.0
} …Run Code Online (Sandbox Code Playgroud) 我刚刚将 Qt Creator 更新到 6.0.0,QML-Designer 不再可用。
我打开了一个使用 Qt Creator 5.0.3 创建的项目,更新后无法编辑表单:
安装的Qt版本是5.15.2。
如何打开 *.ui.qml 文件?
qt ×8
c++ ×7
copy ×1
eclipse ×1
permissions ×1
placeholder ×1
qfile ×1
qlineedit ×1
qml ×1
qregexp ×1
qstring ×1
qt-creator ×1
qtquick2 ×1
sdl ×1
url ×1