Q:

How to hide a text widget and show it later in tcl tk? 

I have a problem with my display of multiple choice questions.  I have a frame which shows the questions and choices above a text widget which shows if the chosen answer is correct.  Yet I want to hide the text while the test is not finished. 
It looks like that:

My procedures are following:
proc beginTest { number } {

    startTest

    .frq.txt configure -state normal
    .frq.txt delete 1.0 end
    set score 0
    set save 0

    set path Files/Tutorials/$::Tuto
    set numbers { 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 }
    for {set i 1} {$i<=10} {incr i} {
        if { $::stop == 1 } {
            set answer [tk_dialog .dialog "Quit test?" " If you quit the test now, your answers will be lost.  Do you want to continue?" \ 
            question 1 "Continue test" "Quit test"]
            if {$answer == 0} {
                continue
            } else {
                break
            }
        } else {
            set ind [expr {int(rand()*[llength $numbers])} ]
            incr score [displayQuestion $path [lindex $numbers $ind] $i 10]
            set numbers [lreplace $numbers $ind $ind]
        }
    }

    .frq.txt insert end "Your score: $score/10"
    .frq.txt configure -state disabled
    if {[info exist user]} {
        if {[lindex $::testScores $number]== "Not Taken" || [lindex $::testScores $number] < $score} {
            set ::testScores [lreplace $::testScores $number $number $score]
        }
    }

    destroy .frq.fr2
}

The following procedure called at the first line of the previous one create and define the windows, frames, text zone, etc. 
proc startTest {} {
    destroy .fr

    #window definition
    toplevel .frq
    wm title .frq "Test" 
    wm geometry .frq 740x670+0+0
    .frq configure -bg $::bgColour

    # title of section
    label .frq.titl
    .frq.titl configure -font "arial 20" -pady 10
    grid .frq.titl -column 0 -row 0 -sticky swe
    .frq.titl configure -background "White"

    # define the main text zone
    text .frq.txt -wrap word -yscroll {.frq.vscroll set} -highlightthickness 0
    .frq.txt configure -background "White" ;#"slate gray" to debug
    scrollbar .frq.vscroll -orient vertical -command {.frq.txt yview}
    grid .frq.txt -column 0 -row 1 -sticky snwe
    grid rowconfigure .frq 1 -weight 1
    grid columnconfigure .frq 0 -weight 1
    grid .frq.vscroll -column 1 -row 1 -sticky snwe
    .frq.txt tag configure center -justify center
    .frq.txt configure -font "times 12" -state disabled
    .frq.vscroll configure -orient vertical -command {.frq.txt yview}
    grid .frq.txt -column 0 -row 1 -sticky snwe
    .frq.txt configure -state normal
    .frq.txt delete 1.0 end

    #text styles
    .frq.txt tag configure Normal -font "times 12"
    .frq.txt tag configure subTitle -font "times 14"
    .frq.txt tag configure Titlec -font "times 16" -justify "center"
    .frq.txt tag configure subTitlec -font "times 14" -justify "center"
    .frq.txt tag configure subTitlecu -font "times 14"  -justify "center" -underline on
    .frq.txt tag configure Titlecu -font "times 16" -justify "center" -underline on
    .frq.txt tag configure Title -font "times 16"
    .frq.txt tag configure link -foreground blue -font "times 12"
    .frq.txt tag configure right -foreground "forest green"
    .frq.txt tag configure wrong -foreground red
    .frq.txt tag configure enhance -background "light goldenrod"
    .frq.txt tag configure rightenhance -background "light goldenrod" -foreground "forest green"
    .frq.txt tag bind link <Enter> ".fr.txt configure -cursor hand1"
    .frq.txt tag bind link <Leave> ".fr.txt configure -cursor arrow"

    #questions frame 
    frame .frq.fr2 -background white
    grid .frq.fr2 -row 1

    label .frq.lbl -relief flat -font arial -text "Question 1 of 5"
    grid .frq.lbl -row 0
    text .frq.fr2.txt -relief flat -background white -font "times 13" -wrap word
    grid .frq.fr2.txt -columnspan 2 -row 1
    .frq.fr2.txt tag configure center -justify center
    grid rowconfigure .frq 1 -weight 1

    checkbutton .frq.fr2.cb1 -command "choose A" -cursor hand1
    grid .frq.fr2.cb1 -column 0 -row 2
    label .frq.fr2.lblA -background white -font "arial 12" -pady 3
    bind .frq.fr2.lblA <ButtonRelease> "choose A; .frq.fr2.cb1 toggle"
    grid .frq.fr2.lblA -column 1 -row 2 -sticky w
    checkbutton .frq.fr2.cb2 -command "choose B" -cursor hand1
    grid .frq.fr2.cb2 -column 0 -row 3
    label .frq.fr2.lblB -background white -font "arial 12" -pady 3
    bind .frq.fr2.lblB <ButtonRelease> "choose B; .frq.fr2.cb2 toggle"
    grid .frq.fr2.lblB -column 1 -row 3 -sticky w
    checkbutton .frq.fr2.cb3 -command "choose C" -cursor hand1
    grid .frq.fr2.cb3 -column 0 -row 4
    label .frq.fr2.lblC -background white -font "arial 12" -pady 3
    bind .frq.fr2.lblC <ButtonRelease> "choose C; .frq.fr2.cb3 toggle"
    grid .frq.fr2.lblC -column 1 -row 4 -sticky w
    checkbutton .frq.fr2.cb4 -command "choose D" -cursor hand1
    grid .frq.fr2.cb4 -column 0 -row 5
    label .frq.fr2.lblD -background white -font "arial 12" -pady 3
    bind .frq.fr2.lblD <ButtonRelease> "choose D; .frq.fr2.cb4 toggle"
    grid .frq.fr2.lblD -column 1 -row 5 -sticky w

    frame .frq.bar
    grid .frq.bar -row 2
    button .frq.bar.next -text "Next question >>" -state disabled -pady 5 -borderwidth 0 -command "set ::goOn 1"
    pack .frq.bar.next -padx 5 -pady 5 -side right -fill none
    button .frq.bar.dp -text "Open drawing pad" -pady 5 -borderwidth 0 -command notepad
    pack .frq.bar.dp -padx 5 -pady 5 -side right -fill none
    button .frq.bar.calc -text "Open calculator" -pady 5 -borderwidth 0 -command calculator
    pack .frq.bar.calc -padx 5 -pady 5 -side right -fill none
    button .frq.bar.quit -text "Quit test" -pady 5 -borderwidth 0 -command "set ::stop 1; set ::goOn 1"
    pack .frq.bar.quit -padx 5 -pady 5 -side right -fill none
}

And finally, the procedure which display the question:
proc displayQuestion {path filename ind maxind} {

    set fd [open $path/$filename r]
    set questionFile [split [read $fd] "\n"]
    set ::goOn 0
    set answers [list]
    set imgFlag 0
    set fd [open $path/answers/$filename r]
    set goodAnswer [read $fd]
    close $fd
    .frq.lbl configure -text "Question $ind of $maxind"
    .frq.fr2.txt configure -state normal
    .frq.fr2.txt delete 1.0 end
    .frq.fr2.txt insert end \n

    foreach line $questionFile {
        if {$line == "<image>"} {
            set imgFlag 1
            continue
        } 
        if {$imgFlag == 1} {
            set imgFlag 0
            .frq.fr2.txt insert end " " center
            .frq.fr2.txt image create end -image [image create photo -file [file join "$path/$line"]]
            continue
        }
        if {[string match A)* $line]} {
            .frq.fr2.lblA configure -text $line
            lappend answers $line
            continue
        }
        if {[string match B)* $line]} {
            .frq.fr2.lblB configure -text $line
            lappend answers $line
            continue
        }
        if {[string match C)* $line]} {
            .frq.fr2.lblC configure -text $line
            lappend answers $line
            continue
        }
        if {[string match D)* $line]} {
            .frq.fr2.lblD configure -text $line
            lappend answers $line
            continue
        }
        .frq.fr2.txt insert end $line\n center
    }

    .frq.fr2.txt configure -state disabled
    .frq.txt insert end [lindex $questionFile 0]\n
    .frq.fr2.cb1 deselect
    .frq.fr2.cb2 deselect
    .frq.fr2.cb3 deselect
    .frq.fr2.cb4 deselect
    .frq.bar.next configure -state disabled
    set ::choice 0
    vwait ::goOn

    switch $::choice {
        A { set ind 0 }
        B { set ind 1 }
        C { set ind 2 }
        default { set ind 3 }
    }

     if { $::choice == $goodAnswer} {
        .frq.txt insert end "Correct answer: [lindex $answers $ind]\n\n" right
        return 1
    } else {
        switch $goodAnswer {
            A { set i 0 }
            B { set i 1 }
            C { set i 2 }
            default { set i 3 }
        }
        .frq.txt insert end "Wrong answer: [lindex $answers $ind]\n\tYou should have pick [lindex $answers $i]\n\n" wrong
        return 0
    }
}

The widget concerned is ".frq.txt". 
I have tried "pack" and "pack forget", even tried a way to use the option "-elide" but I am out of ideas. 
Could you help me? 

A:

Since you're using grid to manage the contents of the .frq widget, including the .frq.txt widget, you need to use grid remove or grid forget to make the widget vanish.  The difference between the two?  With grid remove, the sizing metadata for the cell is remembered. 
pack forget is for undoing a pack (strictly, a pack configure, though the simple pack pretends you said pack configure).