[openrtm-beginners:00432] Re: OpenRTM-aist(C++)でのQtの利用について

長澤 哲弥(Nagasawa Tetsuya) t_nagasawa @ nuem.nagoya-u.ac.jp
2013年 5月 4日 (土) 12:20:55 JST


$B7*86MM(B
$B0BF#MM(B

$BD9_7$G$9!%$H$F$bCzG+$K$"$j$,$H$&$4$6$$$^$9!%(B
$B$^$@40A4M}2r$7$?$o$1$G$O$J$$$N$G$9$,!$(BPython$BHG$NNc$r;29M$K(BPyQt$B$rMxMQ$7$F=jK>$N(BRTC$B$r:n$k$3$H$,$G$-$^$7$?!%(B
$BHs>o$K46<U$7$F$$$^$9!%(B

$B;d$N$h$&$K%W%m%0%i%_%s%0%9%-%k$NDc$$5!3#7O$N3X @ 8$K$H$C$F$O!$(B
GUI$BEy$NJ#;($J$b$N$K4X$7$F$O(BC++$BHG$h$j(BPython$BHG$NJ}$,LdBj$K$O$^$j$K$/$$$+$b$7$l$^$;$s!%(B

$B$3$N$?$S$OK\Ev$K$"$j$,$H$&$4$6$$$^$7$?!%:#8e$b$<$R;29M$K$7$?$$$H;W$$$^$9!%(B


2013$BG/(B4$B7n(B30$BF|(B 17:04 Ando Noriaki <n-ando @ aist.go.jp>:

> $BD9_7$5$s(B
> $B7*86$5$s!c2r @ b$"$j$,$H$&$4$6$$$^$9!#(B
>
> $B0BF#$G$9(B
>
> $B!t(Bbeginners$B$O2aAB$C$F$k$N$G!"(Busers$B$N$[$&$,Ez$($F$b$i$($k3NN($,9b$$$G$9!#(B
>
> C++$B$G;29M$K$J$k%3!<%I$O$A$g$C$H$J$+$C$?$N$G$9$,!"(BPython$BHG$N(B
> $B%5%s%W%k$K;w$?$h$&$J1~MQNc$,$"$j$^$7$?!#(B
>
> Python$B$N%5%s%W%k$H$7$FIUB0$7$F$$$k(BGUI$B%8%g%$%9%F%#%C%/(B
>
> http://svn.openrtm.org/OpenRTM-aist-Python/trunk/OpenRTM-aist-Python/OpenRTM_aist/examples/TkJoyStick/TkJoyStickComp.py
>
> $B0\F0%m%\%C%H$N%7%s%W%k$J%7%_%e%l!<%?$N%5%s%W%k(B
>
> http://svn.openrtm.org/OpenRTM-aist-Python/trunk/OpenRTM-aist-Python/OpenRTM_aist/examples/MobileRobotCanvas/TkMobileRobotSimulator.py
>
> $B$J$I$,7*86$5$s$,8@$o$l$?$h$&$J$3$H$r$7$F$$$^$9!#(B
>
> TkJoystickComp$B$N%5%s%W%k$N(Bmain$B4X?t$G$9$,!"0J2<$N$h$&$K$J$C$F$$$^$9!#(B
>
>  def main():
>    tkJoyCanvas = tkjoystick.TkJoystick() # GUI$B%*%V%8%'%/%H$r:n @ .(B
>    tkJoyCanvas.master.title("TkJoystick")
>    mgr = OpenRTM_aist.Manager.init(sys.argv) # RTC$B%^%M!<%8%c$r:n @ .(B
>    mgr.activateManager() #$B%^%M!<%8%c$r3h @ -2=(B
>
>    # $B%3%s%]!<%M%s%H$NEPO?(B
>    profile = OpenRTM_aist.Properties(defaults_str=tkjoystick_spec)
>    mgr.registerFactory(profile,
>                        TkJoyStick,
>                        OpenRTM_aist.Delete)
>    # $B%3%s%]!<%M%s%H$N @ 8@.(B
>    comp = mgr.createComponent("TkJoyStick")
>
>    # $B$3$N%3%s%]!<%M%s%H$K$O(Bset_pos$B$H$$$&%a%s%P4X?t$,$"$j!"(B
>    # GUI$B%8%g%$%9%F%#%C%/$N:BI8$r%3%s%]!<%M%s%H$KEO$9$?$a$K;HMQ$5$l$k!#(B
>    # TkJoystick$B$N(BGUI$B$N(Bupdate$B%$%Y%s%H$,8F$P$l$k$H$-$K!"(B
>    # $B$3$$$D$r8F$V$h$&$K%3!<%k%P%C%/$H$7$F%;%C%H$9$k!#(B
>    tkJoyCanvas.set_on_update(comp.set_pos)
>    mgr.runManager(True) # $B%^%M!<%8%c$N(BrunManager$B$N0z?t$K(BTrue$B$rEO$7$F(Bnon-block$B%b!<%I$G%^%M!<%8%c$r5/F0(B
>    tkJoyCanvas.mainloop() # Python$B$N(BGUI$B$N%a%$%s%k!<%W$KF~$k!#(B
>
>  if __name__ == "__main__":
>    main()
>
> $B%]%$%s%H$H$7$F$O!"(B
>
> $B#1!K(B $B%3%s%]!<%M%s%H$NCf$+$i(BGUI$B$N%a%$%s%k!<%W4X?t$r8F$s$@$j!"(B
> GUI$B%*%V%8%'%/%H$r @ 8@.$7$?$j$O$7$J$$$[$&$,L5Fq(B
>
> GUI$B%D!<%k%-%C%H$NCf$K$O!"(Bmain$B%9%l%C%I$+$i8F$P$J$1$l$P$J$i$J$$$b$N$d!"(B
> $BF10l$N%9%l%C%I$+$i8F$P$l$k$3$H$rA0Ds$H$7$F$$$k4X?t$J$I$r;}$D$b$N$,$"$k!#(B
> RTC$B$O(BonInitialize/onFinalize$B$r8F$V%9%l%C%I$H!"(BonExecute/onActivated/onDeactivated $B$=$NB>(B
> $B$r8F$V%9%l%C%I$O0[$J$j$^$9!#$^$?!"(BonExecute$BB>$N4X?t$OJ#?t$N%9%l%C%I$+$iF1;~$K(B
> $B8F$P$l$k2DG=@-$9$i$"$j$^$9!#(BGUI$B%9%l%C%I$H(BRTC$B$H$OJL$K07$C$?$[$&$,(B
> $B%H%i%V%k$O>/$J$$$G$7$g$&!#(B
>
> $B#2!K(BGUI$B$H(BRTC$B$N%G!<%?$N$d$j<h$j$O!"(BRTC$B$K$=$N$?$a$N4X?t$rDI2C$9$k$3$H$GBP1~(B
>
> $B>e5-$N$h$&$JM}M3$+$i!"(BGUI$B$H%3%s%]!<%M%s%H$O @ Z$jN%$7$?$[$&$,$h$$$N$G$9$,!"(B
> GUI$BB&$H(BRTC$B$H%G!<%?$N$d$j<h$j$r$7$J$1$l$P$J$i$J$$;~$K:$$j$^$9!#(B
> $BDL>o(BRTC$B$K%G!<%?$N$d$j<h$j$r$9$k$?$a$N%$%s%?!<%U%'!<%9$rJLES7Q>5$5$;$F!"(B
> createComponent$B$G<hF@$7$?%3%s%]!<%M%s%H$X$N%]%$%s%?$r<hF@$7$F(BGUI
> $BB&$+$i%G!<%?$r<hF@$7$?$j!"%G!<%?$rM?$($?$j$7$^$9!#(B
>
> class IMyInterface
> {
> public:
>     virtual int getData() = 0;
>     virtual void setData(double x, double y) = 0;
> };
>
> class MyComponent
>  : public IMyInterface,
>    public RTC::DataFlowComponentBase
> {
>  : $B%3%s%]!<%M%s%H$NDj5A(B
> public:
>     virtual int getData()
>     {
>         coil::Guard guard(m_outdatalock);
>         return m_outdata;
>      }
>    virtual void setData(double x, double y)
>     {
>         coil::Guard guard(m_indatalock);
>         m_indata.x = x;
>         m_indata.y = y;
>     }
> };
>
> $B$3$N$h$&$K%3%s%]!<%M%s%H$r<BAu$7$F$*$$$F$+$i!"(B
>
>   RTObject_impl* rtobj = mgr.createComponent("MyComponent");
>   IMyInterface* comp = dynamic_cast<IMyInterface*>(rtobj);
>   if (comp == 0) { abort(); }
>   mgr.runManager(true);
>   gui.mainloop();
>
> $B$=$7$F(B
>    : GUI$B$N%3%s%H%m!<%kFb$G(B
>   std::cout << "out data: " << comp->getData() << std::endl; // $B%G!<%?$r<hF@(B
>   comp->setData(1.0, 2.0); // $B%G!<%?$rF~NO(B
>
>  $B$N$h$&$K(BRTC$B$H%G!<%?$N$d$j<h$j$r$7$^$9!#(B
>
> $B#3!K(B RTC$B$H(BGUI$B$N%3%s%H%m!<%k$d%&%#%8%'%C%H$r(B1$BBP(B1$BBP1~$K$7$F$*$/$H$o$+$j$d$9$$(B
>
> $B$?$@$7!"(BGUI$B%3%s%H%m!<%k$H(BRTC$B$O$=$l$>$l @ 8@.J}K!$,0[$J$k$N$G!"JL!9$K(B
> $B @ 8@.$7$F!">e=R$7$?$h$&$K(BRTC$B$K<BAu$7$?%G!<%?F~=PNO4X?t$rDL$8$F(BGUI
> $B%3%s%H%m!<%k$H7k$S$D$1$?$[$&$,$h$$$G$7$g$&!#(B
>
> $B0\F0%m%\%C%H$N%7%s%W%k$J%7%_%e%l!<%?$N%5%s%W%k$G$O!"0\F0%m%\%C%H%*%V%8%'%/%H$H(B
> $B$=$l$KBP1~$9$k(BRTC$B$rF0E*$KA}$d$7$?$j8:$i$7$?$j$7$F$$$^$9!#(B
>
> http://svn.openrtm.org/OpenRTM-aist-Python/trunk/OpenRTM-aist-Python/OpenRTM_aist/examples/MobileRobotCanvas/TkMobileRobotSimulator.py
>
> $B0J>e!";29M$K$7$F$$$?$@$1$l$P9,$$$G$9!#(B
> http://openrtm.org/openrtm/ja/node/5317
>
> 2013$BG/(B4$B7n(B30$BF|(B 0:43 shinji.k <shinji0608 @ gmail.com>:
> > $BD9_7MM(B
> >
> > $B7*86$H?=$7$^$9!%(B
> >
> > Qt$B$K4X$7$F$O>\$7$/$J$$$N$G$9$,!$(B
> > $B%a%$%s%9%l%C%I$+$i@)8f$7$J$$$H$$$1$J$$%"%W%j$r;HMQ$9$k%3%s%]!<%M%s%H(B
> > $B!J(BRTC$B!K$r:n @ .$7$?7P83$,$4$6$$$^$9$N$G!$;29M$^$G$K%3%a%s%H$5$;$F$$$?(B
> > $B$@$-$^$9!%(B
> >
> > $B$^$:!$:#2s$N$h$&$K!$(BQt$B$J$I%a%$%s%9%l%C%I$+$i=hM}$r3+;O$9$kI,MW$,$"$k(BRTC
> > $B$r:n @ .$9$k>l9g!$(B<$B%3%s%]!<%M%s%HL>(B>Comp.cpp$B$N(Bmain()$B4X?tFb$N(B
> > manager->runManager();$B$H$J$C$F$$$k2U=j$r(B
> > manager->runmanager(true)$B$N$h$&$K$7!$$=$N8e$G;HMQ$7$?$$%"%W%j%1!<%7%g%s(B
> > $B$N%a%$%s%k!<%W$r8F$S=P$9$H$$$C$?;H$o$lJ}$,B?$$$h$&$G$9!%(B
> >
> > $B0J2<$K!$N)L?4[Bg3X$NJ}$,:n @ .$5$l$?(BQt$B$r;H$C$?%3%s%]!<%M%s%H$,$"$j$^$9$N$G!$(B
> > $B;29M$K$5$l$F$_$k$N$b$h$$$+$H;W$$$^$9!%(B
> >
> >
> http://openrtm.sakura.ne.jp/cgi-bin/wiki/wiki.cgi/2010/2B13?page=%A5%A4%A5%F3%A5%B9%A5%C8%A1%BC%A5%EB
> >
> >
> http://openrtm.sakura.ne.jp/cgi-bin/wiki/wiki.cgi/2010/2B13?page=%A5%C0%A5%A6%A5%F3%A5%ED%A1%BC%A5%C9&file=RMC%2D1%2E2%2E1%2Dwin32%2DOpenRTM%2Ezip&action=ATTACH
> >
> >
> > $B0J>e!$59$7$/$*4j$$CW$7$^$9!%(B
> >
> >
> >
> > 2013$BG/(B4$B7n(B28$BF|(B 17:48 $BD9_7(B $BE/Lo(B(Nagasawa Tetsuya) <t_nagasawa @ nuem.nagoya-u.ac.jp
> >:
> >> OpenRTM$B%a!<%j%s%0%j%9%H$N3'MM(B
> >>
> >> $BL>8E20Bg3XBg3X1!=$;N2]Dx$ND9_7$H?=$7$^$9!%(B
> >> OpenRTM-aist(C++) 1.0.2$B>e$G$N(BGUI$B%i%$%V%i%j(BQt$B$NMxMQ$K$D$$$F<ALd$,$"$j%a!<%k$5$;$F$$$@$?$-$^$7$?!%(B
> >>
> >> $B%;%s%5>pJs$r(BQt$B$rMQ$$$FI=<($5$;$?$$$H9M$(!$(BQt$B$N4IM}%/%i%9$G$"$k(BQApplication$B$H!$(B
> >> QWidget$B$r7Q>5$7$?<+:n%/%i%9(BMyQt$B$N%]%$%s%?$r(BRTC$B$N%/%i%9$K2<5-$N$h$&$KDI2C$7$^$7$?!%(B
> >>
> ------------------------------------------------------------------------------------------------------
> >> class PointCloudViewer
> >> : public RTC::DataFlowComponentBase
> >> {
> >> public:
> >> /*!
> >> * @brief constructor
> >> * @param manager Maneger Object
> >> */
> >> PointCloudViewer(RTC::Manager* manager);
> >> ///////////////////$BCfN,(B/////////////////////
> >> public:
> >>
> >> QApplication *app; //Qt$B4IM}%/%i%9(B
> >> myQt *window; //$B<+:n%/%i%9(B
> >>
> >> };
> >>
> ------------------------------------------------------------------------------------------------------
> >> $B$=$7$F(Bapp$B$H(Bwindow$B$K(Bnew$B1i;;;R$rMQ$$$F!$(BonInitialize()$B$G%$%s%9%?%s%9$r3d$jEv$F!$(B
> >> onExecute()$B$+(Bcoil::Timer$B>e$G!$%$%Y%s%H=hM}4X?t$N(Bapp->processEvents()$B$r<B9T$5$;$h$&$H9M$($^$7$?!%(B
> >> $B$7$+$7%S%k%I$ODL$k$N$G$9$,!$(BQt$B$N(BGUI$B$rA`:n$9$k$3$H$O$G$-$^$;$s$G$7$?!%(B
> >>
> >> $B$=$3$G(BonActivate()$B$G%$%s%9%?%s%9$r3d$jEv$F$?$H$3$m!$LdBj$J$/A`:n$G$-$?$N$G$9$,!$(B
> >> $B%3%s%=!<%k>e$G2<5-$N(BWarning$B$,I=<($5$l$^$9!%(B
> >> WARNING: QApplication was not created in the main() thread.
> >>
> >> QApplication$B$N%$%s%9%?%s%9$r(Bmain()$BFb$G:n @ .$7!$$=$N%"%I%l%9$r(BRTC$BFb$KEA$($l$P$$$$$N$G$O$J$$$+$H9M$($?$N$G$9$,(B
> >> $B$=$NJ}K!$,$o$+$j$^$;$s!%(B
> >>
> >> $B-!(Bmain()$BFb$G:n @ .$7$?%/%i%9$r(BRTC$B%/%i%9Fb$GMxMQ$9$kJ}K!(B
> >> $B-">e5-0J30$N!$$h$jNI$$(BOpenRTM$B>e$G$N(BQt$BMxMQJ}K!(B
> >> $B$3$N(B2$BE@$N$I$A$i$+$*J,$+$j$K$J$kJ}$,$$$l$P!$$I$&$+$*=u$1$/$@$5$$!%(B
> >> $B$=$l$G$O$h$m$7$/$*4j$$$7$^$9!%(B
> >>
> >>
> >> --
> >> $BL>8E20Bg3XBg3X1!9)3X8&5f2J5!3#M}9)3X @ l96EE;R5!3#9)3XJ,Ln(B
> >> $B%a%+%H%m%K%/%9@)8f9V:B%b%S%j%F%#%7%9%F%`%0%k!<%WNkLZ8&5f<<(B
> >> $B=$;N2]Dx(B $BD9_7(B $BE/Lo(B
> >> Email: t_nagasawa @ nuem.nagoya-u.ac.jp Tel: 090-4233-3699
> >>
> >> Graduate School of Engineering, Nagoya University
> >> Tetsuya Nagasawa
> >>
> >> _______________________________________________
> >> openrtm-beginners mailing list
> >> openrtm-beginners @ openrtm.org
> >> http://www.openrtm.org/mailman/listinfo/openrtm-beginners
> >>
> >
> > _______________________________________________
> > openrtm-beginners mailing list
> > openrtm-beginners @ openrtm.org
> > http://www.openrtm.org/mailman/listinfo/openrtm-beginners
> >
>
>
>
> --
> $B0BF#7D><!wFHN)9T@/K!?M;:6H5;=QAm9g8&5f=j(B $BCNG=%7%9%F%`8&5fItLg(B
>     $BE}9gCNG=8&5f%0%k!<%W(B $B<gG$8&5f0w(B, $BGn;N(B($B9)3X(B)
>     $B")(B305-8568 $B$D$/$P;TG_1`(B1-1-1 $BCf1{Bh(B2
>     e-mail: n-ando @ aist.go.jp, web: http://staff.aist.go.jp/n-ando
>     OpenRTM-aist: http://www.openrtm.org
>
> Noriaki Ando, Ph.D.
>     Senior Research Scientist, RT-Synthesis R.G., ISRI, AIST
>     AIST Tsukuba Central 2, Tsukuba, Ibaraki 305-8568 JAPAN
>     e-mail: n-ando @ aist.go.jp, web: http://staff.aist.go.jp/n-ando
>     OpenRTM-aist: http://www.openrtm.org
>
> _______________________________________________
> openrtm-beginners mailing list
> openrtm-beginners @ openrtm.org
> http://www.openrtm.org/mailman/listinfo/openrtm-beginners
>
>


-- 
$BL>8E20Bg3XBg3X1!9)3X8&5f2J5!3#M}9)3X @ l96EE;R5!3#9)3XJ,Ln(B
$B%a%+%H%m%K%/%9@)8f9V:B%b%S%j%F%#%7%9%F%`%0%k!<%WNkLZ8&5f<<(B
$B=$;N2]Dx(B $BD9_7(B $BE/Lo(B
Email: t_nagasawa @ nuem.nagoya-u.ac.jp Tel: 090-4233-3699

Graduate School of Engineering, Nagoya University
Tetsuya Nagasawa
-------------- next part --------------
HTML$B$NE:IU%U%!%$%k$rJ]4I$7$^$7$?(B...
URL: <http://www.openrtm.org/pipermail/openrtm-beginners/attachments/20130504/c76f6395/attachment-0001.html>


More information about the openrtm-beginners mailing list