我从我的本地机器下载了Eclipse(Indigo - 版本3.7.2)到VM(Linux Ubuntu),我设法运行subclipse连接到存储库并拉动我的项目(所有代码文件都在源文件夹中).
现在我能够看到我的项目并打开我的文件,但是我的代码只是一堆"普通文本"行...当我尝试检查编辑器时,它是一个文本编辑器,并且没有可用的Java编辑器
什么是缺失..这是一个屏幕截图

我有一个QDateEdit在我的GUI中,我将其转换QDate为QString并将其添加到我的数据库.该QString日期被保存在这种格式的数据库:20/12/2015.
如果用户想要编辑日期,那么我需要QDateEdit再次在GUI 上的字段上显示日期.因此,我需要获取数据库,带回日期(QString格式为)并将其QDate再次转换回来,以便将其放在QDateEditGUI 上的字段上.
但是,我无法将该QString格式(即:2015年12月20日)转换为QDate使用以下内容:
QString date_string_on_db = "20/12/2015";
QDate Date;
Date.fromString(date_string_on_db,"dd/MM/YYYY");
Run Code Online (Sandbox Code Playgroud)
将Date总是返回invalid.
我该怎么办 ?
在我的Android应用程序中,我正在尝试加载一个网页(必须访问相机)WebView.在我的笔记本电脑上,当我加载网页时,我可以访问相机.
html显示页面上的其他所有内容.
这是我正在申请的许可 Manifest.xml
<uses-permission android:name="android.permission.CAMERA" />
<uses-permission android:name="android.webkit.PermissionRequest" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
<uses-permission android:name="android.permission.INTERNET" />
Run Code Online (Sandbox Code Playgroud)
我将SDK设置如下:
<uses-sdk
android:minSdkVersion="18"
android:targetSdkVersion="21" />
Run Code Online (Sandbox Code Playgroud)
这是我的webview设置:
private void setMyWebviewSettings(WebSettings MyWebviewSettings){
MyWebviewSettings.setAllowFileAccessFromFileURLs(true);
MyWebviewSettings.setAllowUniversalAccessFromFileURLs(true);
MyWebviewSettings.setJavaScriptCanOpenWindowsAutomatically(true);
MyWebviewSettings.setJavaScriptEnabled(true);
MyWebviewSettings.setDomStorageEnabled(true);
MyWebviewSettings.setJavaScriptCanOpenWindowsAutomatically(true);
MyWebviewSettings.setBuiltInZoomControls(true);
MyWebviewSettings.setAllowFileAccess(true);
MyWebviewSettings.setSupportZoom(true);
}
Run Code Online (Sandbox Code Playgroud)
如果我可以直接从我的应用程序访问相机(使用正常活动),为什么我不能从内部打开它WebView?
我有一个QTableView正常工作在GUI上显示我的模型.但是,我想创建一个"SIGNAL/SLOT",当我从中选择一行时,它可以工作QTableView.
我怎样才能做到这一点?
我在Windows Vista上与Qt创建者合作.我正在尝试编译一个非常简单的".cpp"代码,其中包含标准的c ++库"iostream",如下所示:
#include <iostream>
using namespace std;
int main(){
cout << "thanks";
return 0;
}
Run Code Online (Sandbox Code Playgroud)
即使在编译代码之前问题就出现了,当Qt突出显示库并确认我(iostream:没有这样的文件或目录)时,问题就出现了.
它几天前工作得很好,然后我安装了VS-Express-2012然后我卸载了,因为,令人惊讶的是,它不适用于Windows Vista.在删除VS-2012之后,Qt创建者再也看不到c ++库了.
请注意,我仍然可以通过命令行控制台编译和运行我之前编写的代码,这意味着删除VS-2012后,c ++库还没有删除!! 此外,我之前的所有代码(在使用相同Qt创建的旧项目中)没有这样的问题(即:Qt识别并看到标准库),我仍然可以使用Qt创建器正常编译和运行它们,即使我在这些旧项目中创建了一个新的".cpp"文件:

..但是,当我在一个全新的项目中创建一个新的".cpp"文件时,库会消失并且链接丢失:

..(我不想习惯在每次与编译器有类似问题时重新安装Qt,我想先了解为什么会发生这种情况)
那么,究竟Qt正在寻找什么(或者我应该在哪里看?),谢谢
我#DEFINE在我的".pro"文件中添加了一个新内容,如下所示:
#DEFINE += SVN_V
Run Code Online (Sandbox Code Playgroud)
现在我想将命令"svnversion -n"的输出传递给它SVN_V,这就是我所做的:
#DEFINE += "SVN_V = svnversion -n"
Run Code Online (Sandbox Code Playgroud)
但结果是
错误:没有这样的文件或目录
错误:svnversion:没有这样的文件或目录
所以,我到底错过了什么?(请注意我正在使用Linux Ubuntu)
我想读一个xml文件如下:
QFile myFile("xmlfile");
Run Code Online (Sandbox Code Playgroud)
然后继续从以下开始解析xml:
QXmlStreamReader xmlData(myFile);
Run Code Online (Sandbox Code Playgroud)
..我得到的错误是:
no matching function for call to 'QXmlStreamReader::QXmlStreamReader(QFile&)'
Run Code Online (Sandbox Code Playgroud)
那么问题是什么以及如何解决呢?
问题更新:根据下面选择的答案,代码现在正在运行,没有语法错误.
但是,我无法读取我的xml.在解析xml时,我使用以下内容来读取xml元素:
QXmlStreamReader::TokenType token = xmlElements.readNext();
Run Code Online (Sandbox Code Playgroud)
然后这段代码用于检查startElements:
while(!xmlElements.atEnd() && !xmlElements.hasError()){ // the breakpoint is here
do ...
}
Run Code Online (Sandbox Code Playgroud)
所以,在这个断点处,我在debuger中注意到令牌值是 QXmlStreamReader::Invalid(1)
所以,发生了什么..是我的QStreamReader不读取文件为xml,或者它读取它但xml本身有错误?
我正在使用此方法来解密收到的消息:
private static String decrypt(String key, String initVector, String dataToDecrypt) {
try {
IvParameterSpec iv = new IvParameterSpec(initVector.getBytes("UTF-8"));
SecretKeySpec skeySpec = new SecretKeySpec(key.getBytes("UTF-8"), "AES");
Cipher cipher = Cipher.getInstance("AES/CBC/PKCS5PADDING");
cipher.init(Cipher.DECRYPT_MODE, skeySpec, iv);
String safeString = dataToDecrypt.replace('-', '+').replace('_', '/');
byte[] decodedString = Base64.decodeBase64(safeString);
byte[] original = cipher.doFinal(decodedString);
return new String(original);
} catch (Exception ex) {
ex.printStackTrace();
}
return null;
}
Run Code Online (Sandbox Code Playgroud)
但是,我的Android应用程序崩溃了,显示以下异常:
java.lang.NoSuchMethodError:没有静态方法decodeBase64(Ljava/lang/String;)[B in class Lorg/apache/commons/codec/binary/Base64; 或其超类(“org.apache.commons.codec.binary.Base64”的声明出现在 /system/framework/ext.jar 中)
因此,该方法decodeBase64需要base64string,但我通过了string。我的问题来了:
如何转换String为base64string?! …
我刚刚安装了 QT Creator,我想继续开发我在 2015 年设计的旧 C++ UI 应用程序。安装完成没有任何错误。但是,当我尝试打开项目并浏览到我的 .pro 以加载项目时,会出现一个弹出信息框,其中包含以下消息:
找不到有效的设置文件。
在目录“/Users/.../workspace/appname/appname.pro.user”中找到的所有设置文件都不适合当前版本的 Qt Creator。
有什么问题,我该如何排除故障并修复它?