1.通过槽函数传引用的方式获取值
void MainWindow::print(QString &d)
{
d = "123";
qDebug() << __LINE__;
}
void MainWindow::on_pushButton_clicked()
{
QString p;
QMetaObject::invokeMethod(this, "print", Q_ARG(QString &, p));
qDebug() << p;
}
print:
d: 123;
2.python 的List Comprehensions
表达式:[expression for iter_val in iterable if cond_expr]
讨论下多个for循环的执行顺序
---------------------------------------------------------------------------------------------
>>> print[(x,y)for x in [1,2]for y in [3,4]]
[(1, 3), (1, 4), (2, 3), (2, 4)]
从左到右
---------------------------------------------------------------------------------------------
>>>print[(x,y)for x in [1,2]for y in [3,x]]
[(1, 3), (1, 1), (2, 3), (2, 2)]
从左到右
---------------------------------------------------------------------------------------------
>>>print[(x,y)for x in [1,y]for y in [3,4]]
[(1,3),(1,4),(2,3),(2,4)]
从右到左
---------------------------------------------------------------------------------------------
[expression]:最后执行的结果
[for iter_val in iterable]:这个可以是一个多层循环
[if cond_expr]:两个for间是不能有判断语句的,判断语句只能在最后;顺序不定,默认是左到右