青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品

Cpper
C/C++高級工程師 Android高級軟件工程師 IT集成工程師 音頻工程師 熟悉c,c++,java,c#,py,js,asp等多種語言 程序猿

比較簡單的辦法如下:
QWidget *spacer = new QWidget(this);  
spacer
->setSizePolicy(QSizePolicy::Expanding,QSizePolicy::Expanding);   
toolBar
->addWidget(spacer); 
但是如何右對齊的是一個自定義的復合控件,則無能為力,比如一個編輯框和一個搜索按鈕
這種情況下可以使用QLayout和QSpacerItem即可完成,如下:   
QWidget* searchWidget = new QWidget(this); 
mToolbar
->addWidget(searchWidget);
QHBoxLayout
* searchLayout = new QHBoxLayout(searchWidget);
QSpacerItem
* spacer = new QSpacerItem(40,20,QSizePolicy::Expanding,QSizePolicy::Minimum);
searchLayout
->addItem(spacer);
mSearchButtonWidget 
= new QPushButton(tr("搜索"),searchWidget);
mSearchEditWidget 
= new QLineEdit(searchWidget);
mSearchEditWidget
->setMaximumWidth(120);
searchLayout
->addWidget(mSearchEditWidget);
searchLayout
->addWidget(mSearchButtonWidget);
原因是QToolBar本身就是一個QWidget
posted @ 2014-03-23 10:48 ccsdu2009 閱讀(3221) | 評論 (0)編輯 收藏
 
腳本如下:
from bs4 import BeautifulSoup

def list_get(file):
    soup 
= BeautifulSoup(open(file))
    alist 
= soup.find_all('a',class_ = 'link')
    list 
= []
    
for i in alist:
        list.append(i.
get('href'));
    #
for i in list:
    #    print(i)
    
return list

if __name__=="__main__":
    list_get(
'List.htm')

list_get函數返回的是list字符串對象
其c語言調用的代碼如下:
#include <stdio.h>
#include 
<stdlib.h>
#include 
<Python.h>

char* GDALPythonObjectToCStr(PyObject* pyObject);

int main(int argc, char *argv[])
{
    Py_Initialize();  
    
if(!Py_IsInitialized())   
    {  
        
return -1;  
    }  
    
    PyRun_SimpleString(
"import sys");
    PyRun_SimpleString(
"sys.path.append('./script')");
    PyObject
* pModule;
    PyObject
* pDict;
    PyObject
* pFunc;

    pModule 
= PyImport_ImportModule("list");
    
if(!pModule)
    {
        printf(
"can't find list.py");
        system(
"PAUSE"); 
        getchar();
        
return -1;
    }
    
    pDict 
= PyModule_GetDict(pModule);
    
if(!pDict)
    {
        
return -1;
    }
    
    pFunc 
= PyDict_GetItemString(pDict,"list_get");
    
if(!pFunc || !PyCallable_Check(pFunc))
    {
        printf(
"can't find function [list_get]");
        getchar();
        
return -1;
    }
    
    PyObject
* args = PyTuple_New(1);
    PyTuple_SetItem(args,
0,Py_BuildValue("s","List.htm"));
    PyObject
* value = PyObject_CallObject(pFunc,args);
    
int ret = PySequence_Check(value);
    printf(
"check:%d\n",ret);
    
int length = PySequence_Size(value);
    printf(
"length:%d\n",length);
    
    
int i = 0;
    
for(;i<length;i++)
    {
        PyObject
* obj = PySequence_GetItem(value,i);  
        
//char* str = PyBytes_AS_STRING(obj);
        char* str = GDALPythonObjectToCStr(obj);
        printf(
"link:%s\n",str);    
        free(str);
    }
    
    Py_DECREF(args);
    Py_DECREF(pModule);
    Py_Finalize();    
    system(
"PAUSE");    
    
return 0;
}

/* Return a NULL terminated c String from a PyObject */
/* Result must be freed with GDALPythonFreeCStr */
char* GDALPythonObjectToCStr(PyObject* pyObject)
{
#if PY_VERSION_HEX >= 0x03000000
    
if(PyUnicode_Check(pyObject))
    {
        
char *pszStr;
        
char *pszNewStr;
        Py_ssize_t nLen;
        PyObject
* pyUTF8Str = PyUnicode_AsUTF8String(pyObject);
        PyBytes_AsStringAndSize(pyUTF8Str,
&pszStr,&nLen);
        pszNewStr 
= (char*)malloc(nLen+1);
        memcpy(pszNewStr,pszStr,nLen
+1);
        Py_XDECREF(pyUTF8Str);
        
return pszNewStr;
    }
    
else if(PyBytes_Check(pyObject))
    {
        
char *pszStr;
        
char *pszNewStr;
        Py_ssize_t nLen;
        PyBytes_AsStringAndSize(pyObject,
&pszStr,&nLen);
        pszNewStr 
= (char*)malloc(nLen+1);
        memcpy(pszNewStr,pszStr,nLen
+1);
        
return pszNewStr;
    }
    
else
    {
        
char *pszStr = (char*)malloc(1);
        pszStr[
0= '\0';
        
return pszStr;
    }
#else
    
return PyString_AsString(pyObject);
#endif
}
posted @ 2013-12-07 15:48 ccsdu2009 閱讀(952) | 評論 (0)編輯 收藏
 
不得不承認,有時候使用python比c++方便很多,
就拿解析html來說,使用 Beautiful Soup 就比使用libtidy方便很多 - 當然也有可能是
Beautiful Soup封裝的很厲害吧

使用Beautiful Soup的一個例子如下:
from bs4 import BeautifulSoup

soup 
= BeautifulSoup(open('List.htm'))
for a in soup.find_all('a',class_ = 'link'):
    
print (a.get('href'))
目的是找出html中class屬性為link的a節點對應的href屬性字符串
如果是使用c++ libtidy的話
對應的代碼如下:
Bool TIDY_CALL tidyFilterCb(TidyDoc tdoc,TidyReportLevel lvl,uint line,uint col,ctmbstr mssg)
{  
    
return no;
}

void extractContent(TidyNode node,TidyDoc doc);

void parseContent(TidyNode node,TidyDoc doc)
{   
    TidyNode child;
    
for(child = tidyGetChild(node);child;child = tidyGetNext(child))
    {   
        
if(tidyNodeIsA(child))                    
            extractContent(child,doc);
        
else
            parseContent(child,doc);     
    }
}

void extractContent(TidyNode node,TidyDoc doc)
{   
    
if(yes == tidyNodeIsA(node))
    {   
        TidyAttr cls 
= tidyAttrGetCLASS(node);
        
if(cls != NULL)
        {   
            
char* value = (char*)tidyAttrValue(cls);
            
if(!strcmp(value,"link"))
            {   
                TidyAttr href 
= tidyAttrGetHREF(node);   
                
if(href != NULL)
                {
                    
char* link = (char*)tidyAttrValue(href);
                    printf(
"link:%s\n",link);
                    
return;
                }
            }
        } 
    }   
    parseContent(node,doc);
}

void tidyParseHtml(char* file)
{
    TidyDoc doc 
= tidyCreate();
    tidySetReportFilter(doc,tidyFilterCb);
    tidyParseFile(doc,file);
    TidyNode body 
= tidyGetBody(doc);
    TidyNode child;
    
for(child = tidyGetChild(body);child;child = tidyGetNext(child))
    {   
        parseContent(child,doc);
    }    
    tidyRelease(doc); 
}
還是很啰嗦的

當然下面的python代碼也能完成任務:
from bs4 import BeautifulSoup

soup 
= BeautifulSoup(open('List.htm'))
list 
= soup.select('a[class="link"]')
for a in list:
    
if a.has_attr('href'):
        print (a.
get('href'))
如果想分析網頁我覺得BeatifulSoup絕對是一個利器
鏈接:
http://www.crummy.com/software/BeautifulSoup/bs4/doc/
posted @ 2013-12-07 11:17 ccsdu2009 閱讀(1864) | 評論 (0)編輯 收藏
 
gaudio是一個基于C/C++混合編程的跨平臺音頻庫,當前支持windows32/64操作系統和linux32位操作系統

當前性能:
1.最大支持音源同時播放的格式-8
2.單音源最大掛載的音效個數-8
3.全局最大可掛載的音效個數-8
4.當前支持語言C/C++/C#
5.當前支持的OS Win32/Win64/Linux32
6. 當前支持的音效-Fade in,Fade Out,Bassboost,Speed Changer,Echo,3D Effect, Doppler, Phaser, Channel Merget, Channel Swap,  Fft, Distortion, Foldback Distortion, Modulator, AutoWah 等
7.當前支持的解碼格式 - WAV, AU, AIFF, OGG, MOD,IT,XM,S3M,WV,MPC,WV,TTA,MP3,MIDI,FLAC
8.支持的編碼格式 - WAV,AU,AIFF,OGG,MP2,MP3,FLAC,AAC,WV,VOC,CAF
9.支持的音頻加載模式 - 文件加載,內存加載,虛擬文件加載
10.支持PAN,環繞音,全音量,音源音量設置

下一步計劃:
1.DEPHI綁定
2.MAC OS支持
3.Flanger,Chorus音效
4.TAK,AAC格式
5.故障處理

遠景:
1.支持所有平臺和手持設備
2.支持常見的所有音頻格式
3.支持常見的所有音效
4.提高最易用最方便的API接口

一個使用的小例子:
/*
    GAudio 2.1.0.1, (C)2013 by Eric Du(E)
    This program is a part of the GAudio SDK.
    Use GAudio's echo effect
*/
#include 
<stdlib.h>
#include 
<conio.h>
#include 
<stdio.h>
#include 
"gaudio.h"

int main(int argc,char* argv[])
{
    printf(
"echo created by D.Eric\n");

#if(defined(WIN32) || defined(WIN64))
    gaudio_init(
"addons");
#else
    gaudio_init(
"/usr/local/lib/gaudio/");
#endif

    
const char* filename = "..\\media\\hurnscald.ogg";

    gsource
* source = gaudio_source_create_from_file(filename,FALSE);
    
if(source == NULL)
    {
        printf(
"load file:%s error!\n",filename);
        printf(
"bad source.\nerror code:%d.\n",gaudio_error_get());
        gaudio_deinit();
        
return -1;
    }

    gaudio_source_set_int32(source,AUDIO_ENUM_LOOP,FALSE);
    printf(
"play filename:%s\n",filename);

    geffect
* effect = gaudio_effect_create(AUDIO_EFFECT_ECHO,0);
    
if(!effect)
    {
        printf(
"not support echo effect\n");
        gaudio_source_destroy(source);
        gaudio_deinit();
        
return -1;
    }

    gaudio_effect_set_float(effect,AUDIO_EFFECT_ECHO_DELAY,
1.0f);
    gaudio_effect_set_float(effect,AUDIO_EFFECT_ECHO_DECAY,
0.6f);

    gaudio_effect_bind(effect,
0);
    gaudio_source_play(source,FALSE);

    printf(
"\nplaying, press any key to quit.\n");
    getch();

    gaudio_effect_unbind(effect);
    gaudio_effect_destroy(effect);

    gaudio_source_stop(source);
    gaudio_source_destroy(source);

    gaudio_deinit();
    system(
"PAUSE");
    
return EXIT_SUCCESS;
}

這個代表了我當前對音頻這塊的了解程度
下載在這里:download
歡迎提意見啊.
posted @ 2013-11-26 19:53 ccsdu2009 閱讀(2257) | 評論 (1)編輯 收藏
 
     摘要: 1.Code highlighting produced by Actipro CodeHighlighter (freeware)http://www.CodeHighlighter.com/-->/* === Shared === */QStackedWidget, QLabel, QPushButton, QRadioBu...  閱讀全文
posted @ 2013-10-31 21:08 ccsdu2009 閱讀(5843) | 評論 (0)編輯 收藏
 
發現一個問題imageView.startAnimation啟動控件動畫以后
由于一些原因需要設置控件為GONE狀態,也就是imageView.setVisibility(View.GONE);
之后發現控件處于GONE狀態,但是控件還是可見的
上網查了下發現要清空動畫,也就是imageView.clearAnimation

其實我覺得如果調用setVisibility(View.GONE)之后無論當前有無動畫都應該消失
設置為GONE狀態后控件狀態出現異常

按照當前情況要隱藏控件需要先調用cleanAnimation,之后call setVisibility
所以有空想想android API也并非十全十美.
各位覺得呢?
posted @ 2013-10-30 22:26 ccsdu2009 閱讀(4407) | 評論 (0)編輯 收藏
 
截圖如下:
2013年10月6日星期日

代碼見附件:
/Files/gaimor/GPlayer.zip
posted @ 2013-10-06 20:09 ccsdu2009 閱讀(2093) | 評論 (2)編輯 收藏
 
     摘要: 之前寫了一個dll,具體在這里http://m.shnenglu.com/gaimor/anarchive/2013/07/11/201711.html現在想增加一個c#綁定,上網搜了下很簡單就實現了實現后的cs代碼如下(當前只實現了一部分):Code highlighting produced by Actipro CodeHighlighter (freeware)http://www.Co...  閱讀全文
posted @ 2013-09-13 20:55 ccsdu2009 閱讀(3663) | 評論 (0)編輯 收藏
 
1. -static-libstdc++ for libstdc++-6.dll
2. -static-libgcc for libgcc_s_dw2-1.dll
posted @ 2013-08-05 21:10 ccsdu2009 閱讀(439) | 評論 (0)編輯 收藏
 
直接上代碼:
#include <stdio.h>
#include 
<ao/ao.h>
#include 
"mpg123.h"

int main(int argc, char *argv[])
{   
    ao_initialize();
        
    mpg123_handle 
*mpg123 ;
    
int iMpg123_error;
    
if(MPG123_OK != (iMpg123_error = mpg123_init()))
    {
        printf(
"failed to init mpg123\n");
        
return -1;
    }

    mpg123 
= mpg123_new(mpg123_decoders()[0], &iMpg123_error);
    
if(MPG123_OK != (iMpg123_error = mpg123_open(mpg123,argv[1])))
    {
        fprintf(stderr,
"error in open mp3 file\n");
        
return -1;
    }
    
    
int rate,channel,encoding;
    mpg123_getformat(mpg123,
&rate,&channel,&encoding);
    
   
int default_driver = ao_default_driver_id();
    ao_sample_format format;
    memset(
&format,0,sizeof(format));
    format.bits 
= 16;
    format.channels 
= channel;
    format.rate 
= rate;
    format.byte_format 
= AO_FMT_LITTLE;
    
    ao_device 
*device; 
    device 
= ao_open_live(default_driver,&format,NULL);
    
if(device == NULL) 
    {
        fprintf(stderr,
"error opening device.\n");
        
return 1;
    }
    
    
short buffer[4096];
    
    
int read = 0;
    
while(1)
    {
        mpg123_read(mpg123,buffer,
4096,&read);
        
if(read == 0)
            
break;
        ao_play(device,buffer,read);    
    }

    mpg123_close(mpg123);

    ao_close(device);
    ao_shutdown();
    
return 0;
}
posted @ 2013-08-04 12:12 ccsdu2009 閱讀(869) | 評論 (0)編輯 收藏
僅列出標題
共38頁: First 8 9 10 11 12 13 14 15 16 Last 
 
青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>
            久久国产日韩| 亚洲伊人网站| 亚洲先锋成人| 免费成人在线视频网站| 中日韩美女免费视频网址在线观看| 久久久91精品国产| 国产区精品视频| 亚洲欧美久久久久一区二区三区| 亚洲精品资源| 欧美久久综合| 国产精品99久久久久久宅男| 亚洲大胆视频| 久久国产精品99国产精| 国产一区二区三区自拍| 久久久不卡网国产精品一区| 亚洲综合视频网| 国产日韩欧美在线观看| 新狼窝色av性久久久久久| 亚洲图片在线观看| 亚洲激情不卡| 久久久青草青青国产亚洲免观| 国产一级久久| 狼人天天伊人久久| 麻豆精品传媒视频| 亚洲精品视频二区| 亚洲国产日韩欧美在线图片| 欧美精品免费视频| 亚洲在线观看视频网站| 亚洲一区自拍| 国精产品99永久一区一区| 夜色激情一区二区| 久久久福利视频| 欧美日韩三区| 亚洲欧美另类在线观看| 亚洲欧美中文在线视频| 狠狠久久五月精品中文字幕| 牛夜精品久久久久久久99黑人| 老鸭窝亚洲一区二区三区| 日韩视频专区| 亚洲欧美另类综合偷拍| 黄色亚洲在线| 亚洲毛片在线观看| 国产精品一香蕉国产线看观看| 久久亚洲一区| 欧美日韩mv| 久久久www| 欧美日韩亚洲一区二| 久久精品国产2020观看福利| 久久综合亚州| 欧美一级大片在线观看| 嫩模写真一区二区三区三州| 亚洲欧美经典视频| 欧美激情久久久| 久久久久久一区二区三区| 欧美黄色一级视频| 久久免费午夜影院| 国产精品激情电影| 亚洲黄色影院| 伊人春色精品| 亚洲欧美日韩国产成人精品影院 | 国产一区再线| 亚洲欧洲精品一区| 国产亚洲日本欧美韩国| 日韩亚洲精品在线| 亚洲国产成人久久综合| 亚洲欧美另类综合偷拍| 亚洲乱码久久| 久久久久国产一区二区三区| 日韩亚洲成人av在线| 亚洲中字在线| 亚洲素人一区二区| 老司机午夜精品视频| 久久人人97超碰人人澡爱香蕉| 欧美三区美女| 91久久精品一区| 亚洲电影在线观看| 欧美一级视频| 亚洲视频精选| 欧美黄色精品| 欧美成人精品1314www| 欧美视频久久| 亚洲精品视频在线播放| 亚洲精品美女91| 久久在精品线影院精品国产| 欧美在线播放一区| 欧美日韩一区在线视频| 欧美激情在线观看| 激情综合久久| 一区二区三区久久网| 亚洲精品在线电影| 欧美精品福利| 亚洲精品一区二区三区四区高清 | 亚洲成色999久久网站| 9色国产精品| 欧美成人有码| 久久米奇亚洲| 国产伦精品一区二区三区四区免费 | 久久综合999| 欧美a级片网| 亚洲国产精品成人综合色在线婷婷 | 久久精品一区二区三区中文字幕| 久久精品亚洲精品国产欧美kt∨| 国产精品一区二区久久| 亚洲欧美日韩在线| 久久国产一区二区| 国模套图日韩精品一区二区| 久久精品视频导航| 欧美激情视频在线免费观看 欧美视频免费一 | 亚洲视频每日更新| 欧美一级一区| 悠悠资源网久久精品| 欧美成人国产一区二区| 亚洲精品一区二区三区不| 亚洲欧美日韩一区在线| 国产在线精品成人一区二区三区| 久久九九免费视频| 91久久综合| 欧美在线高清| 亚洲电影在线免费观看| 欧美日韩一区免费| 久久九九热免费视频| 日韩手机在线导航| 久久视频免费观看| 这里只有精品视频| 国内精品免费午夜毛片| 欧美刺激性大交免费视频| 这里只有精品在线播放| 麻豆av福利av久久av| 亚洲图片你懂的| 一区二区三区在线看| 欧美三级视频在线观看| 久久亚洲视频| 亚洲伊人一本大道中文字幕| 欧美国产日韩在线观看| 午夜精品福利一区二区蜜股av| 在线精品高清中文字幕| 欧美四级在线观看| 久久五月天婷婷| 亚洲综合日韩| 亚洲三级视频| 免费在线成人| 久久高清国产| 一本综合精品| 亚洲国产成人精品女人久久久| 欧美视频一区二区| 美女诱惑黄网站一区| 午夜在线电影亚洲一区| 亚洲美女黄色| 亚洲国产成人在线| 久久亚洲精品欧美| 性娇小13――14欧美| 日韩午夜剧场| 亚洲高清免费视频| 欧美高清在线| 亚洲图片自拍偷拍| 在线观看成人一级片| 国产精品男gay被猛男狂揉视频| 免费观看成人鲁鲁鲁鲁鲁视频| 亚洲欧洲av一区二区| 99国产精品自拍| 亚洲国产精品专区久久| 六月丁香综合| 久久精品国产清高在天天线| 亚洲女性裸体视频| 亚洲视频在线一区| 亚洲一级特黄| 亚洲午夜羞羞片| 亚洲天堂免费在线观看视频| 日韩亚洲精品电影| 亚洲欧洲在线播放| 亚洲国产美女| 亚洲人成在线播放| 亚洲人成亚洲人成在线观看图片| 亚洲国产精品久久91精品| 影音先锋在线一区| 亚洲动漫精品| 日韩一级黄色av| 一区二区三区欧美在线观看| 亚洲手机在线| 亚洲欧美一级二级三级| 亚洲欧美一区二区三区久久| 午夜精品久久久久久久蜜桃app| 亚洲一区二区三区四区在线观看 | 国产日韩欧美一区二区| 国产欧美日韩视频| 国产在线高清精品| 在线看欧美日韩| 亚洲精品偷拍| 一区二区三区日韩欧美精品| 亚洲欧美另类国产| 久久精品夜色噜噜亚洲aⅴ| 久久婷婷国产综合精品青草| 裸体丰满少妇做受久久99精品| 欧美国产免费| 亚洲毛片在线看| 欧美亚洲综合在线| 免费日韩av片| 欧美色欧美亚洲高清在线视频| 欧美午夜一区二区三区免费大片| 国产精品久久网|