我正在使用boost::signals2库,这里是简单的代码:
boost::signals2<void ()> sig;
class Foo {
void Slot() {}
};
Foo obj;
sig.connect( boost.bind(&Foo::Slot, &obj) );
Run Code Online (Sandbox Code Playgroud)
一切都很好.但现在我希望我的信号在参数中传递一些数据:
boost::signals2<void (std::vector<float>)> sig2;
class Foo {
void Slot2(std::vector<float>) {}
};
Run Code Online (Sandbox Code Playgroud)
绑定Slot2再次发出信号的正确方法是什么?
这是错误:http://dpaste.com/752076/当我使用相同的连接和绑定代码时.
我想解析Linux中的cpu信息.我写了这样的代码:
// Returns full data of the file in a string
std::string filedata = readFile("/proc/cpuinfo");
std::cmath results;
// In file that string looks like: 'model name : Intel ...'
std::regex reg("model name: *");
std::regex_search(filedata.c_str(), results, reg);
std::cout << results[0] << " " << results[1] << std::endl;
Run Code Online (Sandbox Code Playgroud)
但它返回空字符串.怎么了?
我有一个代码:
namespace My
{
#define sptr std::shared_ptr;
}
Run Code Online (Sandbox Code Playgroud)
它被用在很多地方.现在我已将此代码作为库包含到qt项目中,并且无法加载,因为它sptr在某处用作变量名称.
我可以修改Qt标头并重命名变量,但这在可移植性方面并不好.解决这个问题的最佳方法是什么?typedef不能与模板一起使用.我知道模板结构的黑客,但我仍然需要修改我的代码.
我正在尝试paintEvent在我的程序中重写方法并更改它.
void MainWindow::paintEvent(QPaintEvent *event)
{
QRegion reg = this->bgPixmapHandle->rect();
QPainter painter(this);
painter.setClipRegion(reg);
painter.drawImage(bgPixmapHandle->rect(), bgPixmapHandle);
painter.end();
}
Run Code Online (Sandbox Code Playgroud)
在这里,我尝试改变我的bg形象.但我在网上收到了错误:QPainter painter(this);
错误:变量'QPainter painter'已初始化,但类型不完整
我正在尝试用几种语言制作我的网站.每个页面都包含config-file,它会在会话中检查变量'lang'.如果它不存在,将被重定向到lang选择的页面.选择之后你会来到这个页面.但它仅适用于Mozilla Firefox.在语言检查后的其他浏览器中,我总是得到这个页面(lang检查).我做错了什么?配置文件:
// Here is session start...
if (!isset($_SESSION['site_lang']))
{
$_SESSION['page_refer'] = "http://".$_SERVER['SERVER_NAME'].$_SERVER['REQUEST_URI'];
echo '<meta http-equiv="Refresh" content="0; URL=lang_choose.php">';
exit;
}
else
{
require_once 'languages/'.$lang.'.php';
}
?>
Run Code Online (Sandbox Code Playgroud)
lang_choose.php:
// Session start
@extract($_POST);
if (isset($_POST['lang']))
{
$lang = $_POST['lang']; $lang = replace($lang);
$_SESSION['site_lang'] = $lang;
echo '<meta http-equiv="Refresh" content="0; URL='.$_SESSION['page_refer'].'">';
}
else
{
// Showing form with flags... which returns var 'lang'
}
Run Code Online (Sandbox Code Playgroud)
编辑: 如果有
< input type="image" src="img/langs/en.png" width="290" height="200" border="1" name="lang" value="en" />
Run Code Online (Sandbox Code Playgroud)
在形式上它不适用于其他浏览器(除了mozilla)但如果我使用:
< input type="submit" name="lang" value="en" /> …Run Code Online (Sandbox Code Playgroud) 我必须解析需要的字符串.这是我在Linux控制台中执行的命令:
amixer get Master |grep Mono:
Run Code Online (Sandbox Code Playgroud)
例如,得到
Mono: Playback 61 [95%] [-3.00dB] [on]
Run Code Online (Sandbox Code Playgroud)
然后我从python-console测试它:
import re,os
print re.search( ur"(?<=\[)[0-9]{1,3}", u" Mono: Playback 61 [95%] [-3.00dB] [on]" ).group()[0]
Run Code Online (Sandbox Code Playgroud)
得到结果:95.就是这样,我需要什么.但是,如果我将我的脚本更改为:
print re.search( ur"(?<=\[)[0-9]{1,3}", str(os.system("amixer get Master |grep Mono:")) ).group()[0]
Run Code Online (Sandbox Code Playgroud)
它将返回None-object.为什么?
我有 1 个模板文件,它包含在主文件中。
some.template:
...
<?php echo '!'; ?>
...
Run Code Online (Sandbox Code Playgroud)
在主文件中,我将文件读入 1 个变量并显示它。当然,php 脚本不会在那里运行。我该怎么做,我想要什么?
谢谢
我需要这样命名:
site.com/about
site.com/contacts
我可以不用.htaccess吗?
我如何获得字符串的一部分(在符号中).例如:
$string = 'one two three';
$numSymbols = 7;
%what should I do%
$res_string = 'one two';
Run Code Online (Sandbox Code Playgroud)
请帮忙.
我正在创建一些数据的pagging.例如,我有一个页面:
http://example.com/news.php?type=bla&smth=bla
Run Code Online (Sandbox Code Playgroud)
我有一个新闻列表,其中包含指向其他页面的链接.链接到第一页是:
http://example.com/news.php?type=bla&smth=bla&page=1
这是脚本,它创建页面链接:
print '<a href="?'.$_SERVER['QUERY_STRING'].'&page=1"><<</a>';
Run Code Online (Sandbox Code Playgroud)
但在点击其他页面后,链接URL非常大,看起来像:
http://example.com/news.php?type=bla&smth=bla&page=1&page=2&page=1&page=3
Run Code Online (Sandbox Code Playgroud)
我怎么能改变呢?