小编Sim*_*rta的帖子

QML组件以淡入淡出顺序加载

我需要按顺序从数组中加载一个组件。在将下一个组件加载到Loader之前,应先淡出,加载然后淡入。

上面的代码未正确闪烁,并显示以下消息:“ QML状态:为属性” when“检测到绑定循环

我做错了什么?

谢谢

import QtQuick 2.0

Rectangle {
    id: screen
    width: 400
    height: 400
    color: "black"

    Rectangle {
        id: view
        anchors.fill: parent

        Loader {
            id: loader
            onLoaded: { view.state="fadeIn"; }
        }

        states: [
            State {
                name: "fadeOut";
                PropertyChanges { target: view; opacity: 0.1; }
            },
            State {
                name: "fadeIn";
                PropertyChanges { target: view; opacity: 1; }
            },
            State {
                name: "load"; when: view.opacity == 0;
                StateChangeScript { script: { loader.sourceComponent=com_array[index]; } }
            }
        ]

        transitions: [
            Transition …
Run Code Online (Sandbox Code Playgroud)

qt qml qt-quick qt5 qtquick2

3
推荐指数
1
解决办法
4789
查看次数

在c ++ 11中,类似于针对node.js/javascript回调的线程吗?

如果我从主线程启动一个线程,是否有任何选项来挂钩新线程将要触发的回调.回调应该在主线程中执行.

目前我正在使用future来完成这项任务,但是我想避免等待结果(结果是boolean,以防true一切正常,以防false我需要再次启动线程来尝试执行任务).在c ++ 11中类似于node.js/javascript回调吗?

c++ c++11

3
推荐指数
1
解决办法
349
查看次数

如何实现材料设计"全角文本字段"?

我想实现Material Design中的"全角文本字段",如下所示:https://www.google.com/design/spec/components/text-fields.html#text-fields-full-width-text -领域

在此输入图像描述

如何使用Material Design库执行此操作?

可用的库至少在最近的版本中是这些:

  • com.android.support:design:23.0.1
  • com.android.support:appcompat-v7:23.0.1
  • com.android.support:support-v4:23.0.1

我开始使用EditTextas sollows:

<EditText
    android:id="@+id/receivers"
    android:layout_below="@+id/toolbar"
    android:layout_width="match_parent"
    android:padding="20sp"
    android:hint="Receivers"
    android:inputType="textMultiLine"
    android:gravity="top"
    android:layout_height="wrap_content" />

<EditText
    android:layout_height="match_parent"
    android:id="@+id/new_message_text"
    android:layout_below="@+id/receivers"
    android:layout_width="match_parent"
    android:padding="20sp"
    android:hint="@string/hint_new_message"
    android:inputType="textMultiLine"
    android:gravity="top" />
Run Code Online (Sandbox Code Playgroud)

看起来像那样

在此输入图像描述

  • 有没有办法让库中的填充(20sp)值保持不变?
  • 如何删除EditText底部的行?
  • 我从哪里获得水平分隔符?

android material-design

3
推荐指数
1
解决办法
2160
查看次数

片段的菜单项被多次添加

我有一项活动,其中只有一个片段。该片段将一项添加到活动的操作栏中。

现在,当应用程序运行一段时间后,用户将其留作其他工作并返回到该应用程序,其中还有一个附加菜单项(即再次添加了片段的项)。从两个项目中我们得到三个,四个,五个,依此类推。

片段的菜单项如何被多次添加?

活动

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);

    setContentView(R.layout.activity_conversations_list);
    mToolbar = Ui.setupActionbar(this, false);

    FragmentTransaction fragmentTransaction = getSupportFragmentManager().beginTransaction();
    fragmentTransaction.add(R.id.contentframe, new ConversationsFragment());
    fragmentTransaction.commit();
}
Run Code Online (Sandbox Code Playgroud)

分段

@Override
public void onCreate(@Nullable Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);

    // has it's own actionbar items
    setHasOptionsMenu(true);
}

@Override
public void onCreateOptionsMenu(Menu menu, MenuInflater inflater) {
    inflater.inflate(R.menu.appbar_menu_conversations_list, menu);
}
Run Code Online (Sandbox Code Playgroud)

appbar_menu_conversations_list.xml

<?xml version="1.0" encoding="utf-8"?>
<menu xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto">
    <item
        android:id="@+id/action_refresh"
        android:title="@string/action_sync"
        app:showAsAction="always"
        android:icon="@drawable/ic_sync_white_24dp"/>
</menu>
Run Code Online (Sandbox Code Playgroud)

android android-fragments

3
推荐指数
1
解决办法
546
查看次数

替换 console.debug() console.warn() 的日志后端

Qt Quick 使用 qDebug执行日志记录,其中标准 Javascript 日志记录方法映射到 Qt 日志类型

console.log()   -> qDebug()
console.debug() -> qDebug()
console.info()  -> qDebug()
console.warn()  -> qWarning()
console.error() -> qCritical()
Run Code Online (Sandbox Code Playgroud)

在这一点上,您失去了 debug() 和 info() 之间的区别。

有没有办法直接在 QML 引擎中为 Javascript 方法注册自定义记录器,而无需通过 qDebug 和qInstallMessageHandler

logging qt qml qdebug qtquick2

2
推荐指数
1
解决办法
703
查看次数

Qt connect()没有QObject或插槽

我知道我想要实现的是可能的,因为我可以用lambda表达式来完成它,之前我已经完成了它(几个月前我只是不记得语法).基本上,我想将一个函数连接到一个计时器/按钮/等.促进活动的运作.

这是我的工作代码:

connect( &renderTimer, &QTimer::timeout, [ = ]() {
        onTimerUpdate();
    } );
Run Code Online (Sandbox Code Playgroud)

这使用lambda连接到插槽.我想只引用函数本身而不是使用lambda表达式.我试过插入方法onTimerUpdate(),&onTimerUpdate但没有一个工作.我不想使用QObject它或任何预先生成的bullcrap - 我也不想在我的班级中定义插槽.我想简单地将它直接连接到我的函数.

c++ qt

2
推荐指数
1
解决办法
4544
查看次数

QTreeWidgetItem::insertChild 不起作用

我有一个QTreeWidget,我想在某个索引处插入一个孩子。我试过

void QTreeWidgetItem::insertChild ( int index, QTreeWidgetItem * child )
Run Code Online (Sandbox Code Playgroud)

但是我放置的任何索引,它都会在父级拥有的所有子级的末尾插入子级。

qt qtreewidget

2
推荐指数
1
解决办法
440
查看次数

断言实现的表达式的字符串表示形式

由于Java的assert关键字在Android上基本被打破,我即将实现一个断言类,可以配置为在发布版本中检查断言.

现在我可以这样做:

MyAssertion.assert(a != 2)
Run Code Online (Sandbox Code Playgroud)

AssertionException当表达式为false时抛出一个.但是,如何获取要传递给错误消息的表达式的String表示?

java android assert

2
推荐指数
1
解决办法
239
查看次数

2
推荐指数
1
解决办法
2120
查看次数

Rust 稳定标准库是否使用不稳定特性?

在 Rust 标准库中,您可以看到像这样使用 const 泛型的实现:

#[stable(feature = "vec_from_array", since = "1.44.0")]
impl<T, const N: usize> From<[T; N]> for Vec<T> {
    #[cfg(not(test))]
    fn from(s: [T; N]) -> Vec<T> {
        <[T]>::into_vec(box s)
    }
    #[cfg(test)]
    fn from(s: [T; N]) -> Vec<T> {
        crate::slice::into_vec(box s)
    }
}
Run Code Online (Sandbox Code Playgroud)

当我尝试在我的代码中做同样的事情时

impl<const N: usize> From<[u8; N]> for Binary {
    fn from(source: [u8; N]) -> Self {
        // Implementation available for $N <= 32.
        // Requires https://caniuse.rs/features/vec_from_array, avaiable since Rust 1.44.0.
        Self(source.into())
    }
}
Run Code Online (Sandbox Code Playgroud)

我收到错误

   --> …
Run Code Online (Sandbox Code Playgroud)

rust

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