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間是不能有判斷語句的,判斷語句只能在最後;順序不定,默認是左到右