小编Ral*_*kum的帖子

如何在我的Qt应用程序中简单地解析类似(!)文件的CSS?

我有一个*.css(层叠样式表)格式的文档,但它有自己的关键字.实际上它是一个个性化的CSS(我称之为*.pss),具有自己的标签和属性.我在这里摘录:

/* CSS like style sheet file *.pss */

@include "otherStyleSheet.pss";

/* comment */
[propertyID="1230000"] { 
  fillColor : #f3f1ed;
  minSize : 5;
  lineWidth : 3;
}

/* sphere */
[propertyID="124???|123000"] { 
  lineType : dotted;
}

/* square */
[propertyID="125???"] {
  lineType : thinline;    
}

/* ring */
[propertyID="133???"] {
  lineType : thickline; 
  [hasInnerRing=true] {
    innerLineType : thinline;
  }  
}
Run Code Online (Sandbox Code Playgroud)

我想很容易地解析它,Qt已经有了一些可以使用的东西吗?什么是最简单的方法?

由于*.css有自己的关键字,我不会在CSS解析器中使用.

解析*.pss后我的进一步意图是将其属性存储在Model结构中.

css qt html-parsing qt5 qt5.4

8
推荐指数
2
解决办法
1729
查看次数

Firebase RemoteMessage已填充Bundle但getData()为空

我的firbase RemoteMessage有一个带有12个键值对的mBundle,根据调试器,这些字段被填充 在此输入图像描述.

但是当我说:remoteMessage.getData();结果ArrayMap的Map<String, String>大小为0,因此没有元素.

如何访问remoteMessage的Map?

android firebase firebase-cloud-messaging

8
推荐指数
2
解决办法
3321
查看次数

Tizen Studio的模拟器需要旧的libpng12-0

我即将安装Tizen Studio,我还需要用于磨损和设备的仿真器.但不幸的是它需要libpng12-0,而我已经安装libpng16-16..

我如何告诉Tizen Installer,它已经有最近的最新版本了?

libpng tizen tizen-wearable-sdk tizen-native-app

7
推荐指数
1
解决办法
425
查看次数

如何在可见键盘顶部显示可组合项?

由于我们有不同的屏幕尺寸和分辨率,我想在展开的键盘顶部放置一个可组合项:

在此输入图像描述

键盘(见上图)是可见的,我想显示另一个可组合项(红色方块),例如消息几秒钟。

使用 Jetpack Compose 定位红色可组合项的简单方法是什么?

android-jetpack android-jetpack-compose

7
推荐指数
2
解决办法
2556
查看次数

匕首2:无法解析匕首成分的符号

我想练习这个Dagger 2 Vehicle Motor示例.

除了我的gradel.build之外,我在教程中完成了所有内容:

compile 'com.google.dagger:dagger:2.4'
apt 'com.google.dagger:dagger-compiler:2.4'
compile 'javax.annotation:javax.annotation-api:1.2'
Run Code Online (Sandbox Code Playgroud)

但后来我得到了

错误:找不到符号变量Dagger_VehicleComponent

那有什么不对吗?(同样没有'_'下划线)

android dependency-injection dagger-2

6
推荐指数
1
解决办法
7839
查看次数

使用 https://fcm.googleapis.com/fcm/send 发送 Firebase 数据消息时注册无效?

  1. 我使用 POST --> https://fcm.googleapis.com/fcm/send设置了一个 REST 客户端
  2. 内容类型:应用程序/json
  3. 授权:key=<server-key>
  4. JSON 正文:

    { "to": "testTopic", "data": { "key1": "val1", "key2": true } }

响应 200 OK 但响应主体有:

{
    "multicast_id": 6098503498585,
    "success": 0,
    "failure": 1,
    "canonical_ids": 0,
    "results":[
        {
        "error": "InvalidRegistration"
        }
    ]
}
Run Code Online (Sandbox Code Playgroud)

所以 onMessageReceived() 没有被触发,无论是前台还是后台的应用程序?为什么我会收到InvalidRegistration?我错过了什么?

第 3 点的服务器密钥来自 Firebase 项目设置 --> 云消息传递 --> 服务器密钥

android push-notification google-cloud-messaging firebase-cloud-messaging

6
推荐指数
1
解决办法
4793
查看次数

皮特检查潜在的复数?

我的Lintcheck抱怨我的字符串资源.

潜在的Plurals res/values/strings.xml格式化%d后跟单词("Pers"):这应该是复数而不是字符串

此资源以前是一个,但我将其更改为正常的字符串,如:

<string name="plain_string">%d Pers</string>
Run Code Online (Sandbox Code Playgroud)

我会理解一个警告,但是错误?我怎么解决这个问题?

lint android-resources

6
推荐指数
1
解决办法
1233
查看次数

AnnotatedString 的开始和结束索引因语言而异

我使用这个(不再那么好)示例在我的 Android Jetpack Compose Text 可组合项上启用链接化(请参阅“ClickableText 处理文本上的链接”部分)。

到目前为止,对于一种语言来说,这很容易并且很好。正如您在 AnnotatedString.Builder 中看到的:

addStyle(
    style = SpanStyle(
        textDecoration = TextDecoration.Underline
    ),
    start = 8,
    end = 15
)
addStringAnnotation(
    tag = uriTag,
    annotation = "https://developer.android.com/jetpack/compose",
    start = 8,
    end = 15
)
Run Code Online (Sandbox Code Playgroud)

我必须输入开始和结束索引才能通过下划线突出显示链接。想象一下我有多种字符串语言资源,我只想链接网站网站

 "My website" 
 "Meine Webseite"
Run Code Online (Sandbox Code Playgroud)

上面的英文字符串的起始索引和结束索引为 4 到 10。

较低的德语字符串有 7 到 14。这对于多语言资源来说不太有用。如何在不计算索引的情况下更轻松地链接我的文本可组合项。

(请注意:我只想使用自然库 andoridx.* kotlin.*。其他 3rd 方库将被忽略)

android textview androidx android-jetpack-compose android-jetpack-compose-text

6
推荐指数
1
解决办法
1360
查看次数

如何将QAbstractItemModel序列化为QDataStream?

我已经设置了一个QAbstractItemModel并用数据填充了它.我的QTreeView小部件正确显示该模型中的每个数据.

现在,我想将该序列化的模型存储在二进制文件中(后来将cource加载到二进制文件中的模型中).那可能吗?

serialization qt qabstractitemmodel qstandarditemmodel qdatastream

5
推荐指数
1
解决办法
1643
查看次数

如何完全遍历QStandardItemModel?

我有一个QStandardItemModel,我在q QTreeView中显示.工作良好.

为了突出显示相关的行,我想强调其中的一些:因此我有一个QStringList,其中包含要突出显示的QStandItem*的名称.

QStringList namesToBeHighlighted = getNames();

QModelIndex in = myModel->index(0, 0);

if ( in.isValid() ) {

    for (int curIndex = 0; curIndex < myModel->rowCount(in); ++curIndex) {

        QModelIndex si = myModel->index(curIndex, 0, in);
        QStandardItem *curItem = myModel->itemFromIndex(si);

        if (curItem) {
           QString curItemName = curItem->text();

           if ( namesToBeHighlighted.contains(curItem->text()) ) {
               curItem->setFont(highlightFont);
           }
           else curItem->setFont(unHighlightFont);
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

我的模型有以下结构:
Level_1
+ - > Level_11
+ - > Level_12
+ - > Level_13
Level_2
+ - > Level_21
+ - > Level_22
+ …

c++ qstandarditemmodel qt5 qmodelindex qstandarditem

5
推荐指数
1
解决办法
9055
查看次数