[Tex/LaTex] Add arrow between two tcolorboxes

tcolorboxtikz-arrows

I'm new to tikz. I'm trying to create something like this:
enter image description here

The two tcolorboxes work fine outside of being nodes. After googling and reading tikz documentation, I'm still at a loss for how to draw an arrow! Here's my MWE that is sad and needs smarts beyond my capacity at this moment.

\documentclass[12pt,fleqn,twoside]{report}
\usepackage{tcolorbox}
\usepackage{tikz}

\tcbset{%
    boxrule=4pt, 
    colback=white, %background color
    colframe=blue, % frame colour
    halign=center,
    valign=center, 
    halign lower=center,
    align lower =center,
    sharp corners=all,
    center title,
    lower separated=false,
    fonttitle=\sffamily\bfseries\large,
    }

\begin{document}

\begin{tikzpicture}[node distance=2cm,baseline=-0.5ex,  arrow/.style = {thick,-stealth}]
    \node(NodeName1){
        \begin{tcolorbox}[title=Box1Title]
        Blah box1 text
        \end{tcolorbox}
    };
\node(NodeName2){
    \begin{tcolorbox}[title=Box2Title]
        Blah box2 text
        \end{tcolorbox}
        };
\draw(NodeName1);   
\draw[->] (NodeName1) -- (NodeName2);
\draw(NodeName2);
\end{tikzpicture}

\end{document}

Best Answer

arrow is not the problem (actually it appears), but your nodes overlaps (are not displaced one against other) and consequently its length is zero pt. also you have errors in your code (undefined options) and since width of boxes are not defined, it use default width, e.g. text width ...

\documentclass[12pt,fleqn,twoside]{report}
\usepackage[many]{tcolorbox}
\usepackage{tikz}
\usetikzlibrary{arrows.meta, % for arrows style
                positioning  % for positioning of boxes
               }
\tcbset{%
    boxrule=4pt,
    colback=white, % background color
    colframe=cyan, % frame colour
        halign=center,
        valign=center,
    sharp corners=all,
    center title,
    lower separated=false,
    fonttitle=\sffamily\bfseries\large,
    width=4cm % added
    }
% for show only picture
\usepackage[tightpage, active]{preview}
\setlength\PreviewBorder{3mm}
\PreviewEnvironment{tikzpicture}

    \begin{document}
\begin{tikzpicture}[node distance=2cm]
    \node(NodeName1){
        \begin{tcolorbox}[title=Box 1 Title]
        Box 1 text
        \end{tcolorbox}
    };
\node(NodeName2) [right=of NodeName1] {  % added position of second box
    \begin{tcolorbox}[title=Box 2 Title]
        Box 2 longer text text text text text
        \end{tcolorbox}
        };
\draw[blue, line width=2mm,-{Triangle[angle=60:1pt 3]}] (NodeName1) -- (NodeName2);
\end{tikzpicture}
    \end{document}

see if obtained image is what you looking for:

enter image description here

edit: code and explanation is slightly improved

Related Question