如何用双引号打破长线?

时间:2014-03-07 20:03:57

标签: c++ formatting

例如,在我的C ++代码中:

setStyleSheet
(
    "QPushButton{background-color:#9dce2c; border-radius:7px; border:1px solid #83c41a; color:#000000; font-size:15px; font-weight:bold; padding:4px 24px; text-decoration:none; }"
    "QPushButton:pressed { border:2px; solid black; }"
    "QPushButton:hover { background-color:grey; }"
    "QPushButton:focus { outline: none; }"
    "QGroupBox { font-size:15px; font-weight:bold; padding:6px 0px; text-decoration:underline; }"
);

有什么想法吗?

2 个答案:

答案 0 :(得分:5)

C和C ++自动连接相邻的字符串文字,因此您可以执行

setStyleSheet
    (
        "QPushButton{background-color:#9dce2c; border-radius:7px;"
        "  border:1px solid #83c41a; color:#000000; font-size:15px;"
        "  font-weight:bold; padding:4px 24px; text-decoration:none; }"
        // ...
    );

它将按预期工作。 (这里没有必要缩进,但我认为这表明第二行和第三行是第一行的延续是好的风格。)

答案 1 :(得分:3)

Brian有正确的想法(事实上 - 你已经在使用这种技术,所有的长行都被连接在一起),但如果你想在每个分号后有一个空格,你需要移动引号相应....

setStyleSheet
(
    "QPushButton{background-color:#9dce2c; border-radius:7px; "
        "border:1px solid #83c41a; color:#000000; font-size:15px; "
        "font-weight:bold; padding:4px 24px; text-decoration:none; }"
    "QPushButton:pressed { border:2px; solid black; }"
    "QPushButton:hover { background-color:grey; }"
    "QPushButton:focus { outline: none; }"
    "QGroupBox { font-size:15px; font-weight:bold; padding:6px 0px; "
        "text-decoration:underline; }"
);

(如果希望输出更容易阅读,可以使用\n"结束行注入换行符。)