Sponsored Content
Top Forums Shell Programming and Scripting Python- Changing background color on Button click Post 302398725 by vickylife on Thursday 25th of February 2010 11:27:31 AM
Old 02-25-2010
Python- Changing background color on Button click

Hi,

I am trying to write a python program which changes background color on click of button. However i am stuck up. Instead of changing the color currently it is creating a new frame every time.

please look at the code and let me know how to correct it

Code:
#!/usr/bin/env python

from Tkinter import *

class App(Frame):

    def __init__(self, master=None):
            Frame.__init__(self, master)
                self.pack()
                self.createWidgets()
                self.fm = Frame(root, width=300, height=200, bg="blue")
        self.fm.pack(side=TOP, expand=NO, fill=NONE)    
        #self.bgcolor()
    def createWidgets(self):
        self.MyButton = Button(self)
            self.MyButton["text"] = "Change Color"
            self.MyButton["fg"]   = "red"
        self.MyButton["command"] =  self.bgcolor
        self.MyButton.pack({"side": "left"})

    def bgcolor(self):    
        #self.fm.bg="red"
        self.fm = Frame(root, width=300, height=200, bg="red")
            self.fm.pack(side=TOP, expand=NO, fill=NONE)
    
    

root = Tk()
display = App(root)
display.mainloop()

 

9 More Discussions You Might Find Interesting

1. Solaris

Comprehensive system documentation by button click

Guys There's a new WebPage where you can generate a comprehensive detailed system documentation by button click. Look at the example at https://sdoctool.sun.com/data/doc.php?ID=sdoctool&N=2 ;) Interested, go to Cheers (0 Replies)
Discussion started by: lebch
0 Replies

2. UNIX for Dummies Questions & Answers

Changing middle mouse button for pasting to right mouse button in cygwin rxvt

Hi, I'm using rxvt in Cygwin and I'm wondering how to change my mouse bindings from the middle button for pasting to the right button. The main reason why I want to do this is because my laptop doesn't have a middle mouse button. Thanks for any help! (2 Replies)
Discussion started by: sayeo
2 Replies

3. Shell Programming and Scripting

Simple question: Tcl button color

Hey, Can anyone tell me what is the default tcl button color is? I've already tried gray60/70/80/85/90/95. None are the same. Thanks, Phil. -----Post Update----- You can disregard this question, found the color in #E0DFE3 (0 Replies)
Discussion started by: Phi01
0 Replies

4. UNIX for Dummies Questions & Answers

CGI cannot get the Value after click the button. URGENT!!!

Hi Everyone, I am facing a problem, regarding cgi cannot receive the value from HTML after click submit. Here is the code =============================================== #!/bin/bash genHTML() { cat <<-__EOF__ Content-type: text/html <html> <script language="JavaScript"> <!-- ... (2 Replies)
Discussion started by: ryanW
2 Replies

5. Shell Programming and Scripting

Validation of Text field while Click on submit button

I am using Perl CGI. I have created some text fields and getting those values. But i want if user leave the text field blank when he click on submit button then instead of run a script it should give a popup. Please any body suggest me something..??? (0 Replies)
Discussion started by: Navrattan Bansa
0 Replies

6. UNIX for Dummies Questions & Answers

How to change the background color in the init 3 mode(not line color)

Hello, I am using RHEL 6.1 on VMware I am searching for a way to change background color (not line by line color wich one can using tput command) basically changing the color of the whole screen to white instead of the default black and changing font color to black and alos would like to... (2 Replies)
Discussion started by: Dexobox
2 Replies

7. Web Development

Cannot execute sh file using button click in php file in apache

I the problem that i facing is cannot use button click to execute the sh file that store in the same location. the program file is a php file and running in apache2. the code that i run is show below <button onclick="sh()" name="sh">SH</button> <script type='text/javascript'> function sh()... (5 Replies)
Discussion started by: zhengkoon8
5 Replies

8. Shell Programming and Scripting

CURL Button Click Issue

I am trying to perform a button click via cURL and I am having an issue possibly due to java script on click. The HTML source code is: <input id="ctl00_SPWebPartManager1_g_1bb6dc86_55ab_4ea9_a4db_4747922a8202_ctl00_RequestOption_0" class="radio" type="radio" checked="checked" value="1"... (5 Replies)
Discussion started by: js0505
5 Replies

9. Shell Programming and Scripting

**python** unable to read the background color in python

I am working on requirement on spreadsheet in python scripting. I have a spreadsheet containing cell values and with background color. I am able to read the value value but unable to get the background color of that particular cell. Actually my requirement is to read the cell value along... (1 Reply)
Discussion started by: giridhar276
1 Replies
Adjuster(3pm)						User Contributed Perl Documentation					     Adjuster(3pm)

NAME
Tk::Adjuster - Allow size of packed widgets to be adjusted by user SYNOPSIS
use Tk::Adjuster; $adjuster = $widget->Adjuster(?options?); WIDGET-SPECIFIC OPTIONS Name: restore Class: Restore Switch: -restore Specifies a boolean value that determines whether the Adjuster should forcibly attempt to make room for itself (by reducing the size of its managed widget) when it is unmapped (for example, due to a size change in a top level window). The default value is 1. Name: side Class: Side Switch: -side Specifies the side on which the managed widget lies relative to the Adjuster. In conjunction with the pack geometry manager, this relates to the side of the master against which the managed widget and the Adjuster are packed. Must be left, right, top, or bottom. Defaults to top. Name: widget Class: Widget Switch: -widget Specifies the widget which is to be managed by the Adjuster. DESCRIPTION
Tk::Adjuster is a Frame containing a "line" and a "blob". Dragging with Mouse Button-1 results in a line being dragged to indicate new size. Releasing Button-1 submits GeometryRequests on behalf of the managed widget which will cause the packer to change the widget's size. If Drag is done with Shift button down, then GeometryRequests are made in "real time" so that text-flow effects can be seen, but as a lot more work is done behaviour may be sluggish. If widget is packed with -side => left or -side => right then width is adjusted. If packed -side => top or -side => bottom then height is adjusted. packPropagate is turned off for the master window to prevent adjustment changing overall window size. Similarly packPropagate is turned off for the managed widget if it has things packed inside it. This is so that the GeometryRequests made by Tk::Adjuster are not overridden by pack. In addition, the managed widget is made non-expandable to prevent the geometry manager reallocating freed space in the master back to the managed widget. Note however that expansion is turned off only after the Adjuster is mapped, which allows the managed widget to expand naturally on window creation. The Tk::Widget method, packAdjust, calls pack on the widget, then creates an instance of Tk::Adjuster, and packs that "after" the widget. Its use has two disadvantages however: the Adjuster widget is not made available to the caller, and options cannot be set on the Adjuster. For these reasons, the Tk::Adjuster method, packAfter is preferred, but packAdjust is retained for backwards compatibility. WIDGET METHODS
$adjuster->packAfter(managed_widget, ?pack_options?) This command configures the Adjuster's -widget and -side options respectively to managed_widget and the -side value specified in pack_options (top if not specified). It then packs the Adjuster after managed_widget, with -fill set to x or y as appropriate. $adjuster->packForget?(boolean)? This command calls Tk::Widget::packForget on the Adjuster. If a parameter is provided and it has a true boolean value, then packForget is also called on the managed widget. $adjuster->slave This command returns the value $adjuster->cget('-widget'), ie. the reference to the managed widget. EXAMPLES
Using an Adjuster to separate two widgets, whereby the left widget is managed, and right widget expands to fill space on a window resize a) Using packAfter (preferred interface) use Tk; use Tk::Adjuster; my $f = MainWindow->new; my $lst1 = $f->Listbox(); my $adj1 = $f->Adjuster(); my $lst2 = $f->Listbox(); my $side = 'left'; $lst1->pack(-side => $side, -fill => 'both', -expand => 1); $adj1->packAfter($lst1, -side => $side); $lst2->pack(-side => $side, -fill => 'both', -expand => 1); MainLoop; b) Using packAdjust use Tk; use Tk::Adjuster; my $f = MainWindow->new; my $lst1 = $f->Listbox(); my $lst2 = $f->Listbox(); my $side = 'left'; $lst1->packAdjust(-side => $side, -fill => 'both'); $lst2->pack (-side => $side, -fill => 'both', -expand => 1); MainLoop; c) Using the standard Tk::Widget::pack use Tk; use Tk::Adjuster; my $f = MainWindow->new; my $side = 'left'; my $lst1 = $f->Listbox(); my $adj = $f->Adjuster(-widget => $lst1, -side => $side); my $lst2 = $f->Listbox(); $lst1->pack(-side => $side, -fill => 'both', -expand => 1); $adj->pack (-side => $side, -fill => 'y'); $lst2->pack(-side => $side, -fill => 'both', -expand => 1); MainLoop; Changing the above examples so that $side has the value 'right' means the left widget expands to fill space on a window resize. Changing the above examples so that $side has the value 'top' produces a testcase with a horizontal Adjuster. Here the bottom widget expands to fill space on a window resize. Packing to the 'bottom' makes the top widget expand to fill space on window resize. Using -restore => 0 for multiple columns In the case of multiple columns (or rows) the "restore" functionality of the Adjuster can be inconvenient. When the user adjusts the width of one column and thereby pushes the Adjuster of another column off the window, this adjuster tries to restore itself by reducing the size of its managed widget. This has the effect that column widths shrink; and the original size is not restored when the user reverses the originating change. The -restore option can be used to turn off this functionality. (It makes some sense, however, to leave -restore turned on for the first-packed Adjuster, so that at least one Adjuster always remains visible.) use Tk; use Tk::Adjuster; my $f = MainWindow->new; my $lst1 = $f->Listbox(); my $adj1 = $f->Adjuster(); my $lst2 = $f->Listbox(); my $adj2 = $f->Adjuster(-restore => 0); my $lst3 = $f->Listbox(); my $side = 'left'; $lst1->pack(-side => $side, -fill => 'both', -expand => 1); $adj1->packAfter($lst1, -side => $side); $lst2->pack(-side => $side, -fill => 'both', -expand => 1); $adj2->packAfter($lst2, -side => $side); $lst3->pack(-side => $side, -fill => 'both', -expand => 1); MainLoop; BUGS
It is currently not possible to configure the appearance of the Adjuster. It would be nice to be able to set the width and relief of the Adjuster "line" and the presence/absence of the "blob" on the Adjuster. Tk::Adjuster works theoretically with the grid geometry manager but there are currently some problems which seem to be due to bugs in grid: a) There's never an Unmap event for the adjuster, so the "restore" functionality has no effect. b) After adjusting, widgets protrude into the border of the master. c) grid('Propagate', 0) on MainWindow has no effect - window shrinks/grows when widgets are adjusted. d) Widgets shuffle to correct position on startup perl v5.14.2 2010-05-29 Adjuster(3pm)
All times are GMT -4. The time now is 07:14 AM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy