コード例 #1
0
ファイル: NuConfPageKit.py プロジェクト: maximerobin/Ufwi
def createList(labelText, slot, changedSlot, validator=None):
    widget = QWidget()
    layout = QVBoxLayout()
    layout.setObjectName('listLayout')
    widget.setLayout(layout)
    hboxWidget = QWidget()
    hboxLayout = QHBoxLayout()
    hboxLayout.setObjectName('hboxLayout for tableWidget')
    hboxWidget.setLayout(hboxLayout)
    tableWidget = QTableWidget(0, 2)
    tableWidget.setAlternatingRowColors(True)
    widget.connect(tableWidget, SIGNAL('cellChanged(int, int)'), changedSlot)
    tableWidget.setHorizontalHeaderLabels(createQStringList([labelText, '']))
    tableWidget.setColumnWidth(INPUT_IDX, contentColumnWidth)
    tableWidget.setColumnWidth(BUTTON_IDX, deleteButtonColumnWidth)
    hboxLayout.addWidget(tableWidget)

    add = QWidget()
    addLayout = QHBoxLayout()
    addLayout.setObjectName('addLayout')
    add.setLayout(addLayout)
    addLineEdit = createLineEdit(add, None, validator)
    addButton = createButton(translate('MainWindow', 'Add'), add, add,
            slot)
    add.connect(addLineEdit, SIGNAL('returnPressed()'), slot)
    for wid in addLineEdit, addButton:
        addLayout.addWidget(wid)

    for wid in add, hboxWidget:
        layout.addWidget(wid)
    return (widget, tableWidget, addLineEdit)
コード例 #2
0
ファイル: __init__.py プロジェクト: jraedler/SimuVis4
 def load(self):
     self.initTranslations()
     cfg = SimuVis4.Globals.config
     cfgsec = self.name.lower()
     if not cfg.has_section(cfgsec):
         cfg.add_section(cfgsec)
     cfg.set_def(cfgsec, 'set_default_backend', 'yes')
     cfg.set_def(cfgsec, 'zoom_step_factor', '0.189207115002721')
     cfg.set_def(cfgsec, 'mouse_wheel_step', '15')
     glb = SimuVis4.Globals
     import matplotlib
     if matplotlib.__version__ < mplMinVersion or matplotlib.__version__ > mplMaxVersion:
         SimuVis4.Globals.logger.error(unicode(QCoreApplication.translate('MatPlot', 'MatPlot: need matplotlib version between %s and %s, but found %s')) % \
             (mplMinVersion, mplMaxVersion, matplotlib.__version__))
         return False
     self.matplotlib = matplotlib
     if cfg.getboolean(cfgsec, 'set_default_backend'):
         try:
             sys.path.append(os.path.split(__file__)[0])
             matplotlib.use('module://backend_sv4agg')
         except:
             pass
     import backend_sv4agg
     self.backend_sv4agg = backend_sv4agg
     dpath = matplotlib.rcParams['datapath']
     tmp = os.path.join(dpath, 'images')
     if os.path.isdir(tmp):
         dpath = tmp
     winIcon = QIcon(os.path.join(dpath, 'matplotlib.png'))
     testAction = QAction(winIcon,
         QCoreApplication.translate('MatPlot', '&MatPlot/PyLab Test'), SimuVis4.Globals.mainWin)
     testAction.setStatusTip(QCoreApplication.translate('MatPlot', 'Show a matplotlib/pylab test window'))
     QWidget.connect(testAction, SIGNAL("triggered()"), self.test)
     SimuVis4.Globals.mainWin.plugInMenu.addAction(testAction)
     return True
コード例 #3
0
ファイル: kamiltube.py プロジェクト: jhondiaz/waltercoolcode
def PyQt4(): 
  from PyQt4.QtCore import SIGNAL, SLOT
  from PyQt4.QtGui import QDialog, QApplication, QWidget, QLabel, QLineEdit, QPushButton, QGridLayout, QMessageBox
  app = QApplication(sys.argv)
  widget = QWidget()
  global guiparent
  
  #Objets
  label = QLabel(deflabel)
  box = QLineEdit(defvid)
  button = QPushButton("&Watch it!")

  #Layouts
  grid = QGridLayout()
  grid.addWidget(label,0,0)
  grid.addWidget(box,1,0)
  grid.addWidget(button,1,1)
  widget.setLayout(grid)
  
  #Methods
  def gotowork():
    if box.text() != "": work(str(box.text()))
    
  #Signals and others!
  widget.connect(button, SIGNAL("clicked()"), gotowork)
  box.selectAll()
  widget.setWindowTitle(deftit)
  widget.show()
  guiparent = app
  app.exec_()
コード例 #4
0
    def load(self):
        self.initTranslations()
        import vtk, VtkWidget, VtkWindow, Objects, Helpers
        self.vtk = vtk
        self.VtkWidget = VtkWidget
        self.VtkWindow = VtkWindow
        self.Objects = Objects
        self.Helpers = Helpers
        xpm = QPixmap()
        xpm.loadFromData(self.getFile('3dwin.xpm').read())
        winIcon = QIcon(xpm)
        self.winManager = SubWinManager(glb.mainWin.workSpace, self.VtkWindow.VtkWindow,
                QCoreApplication.translate('VtkWindow', "Vtk Window"), winIcon)
        testAction = QAction(winIcon,
            QCoreApplication.translate('VtkWindow', '&VtkWindow Test'), glb.mainWin)
        testAction.setStatusTip(QCoreApplication.translate('VtkWindow', 'Show a new Vtk test window'))
        QWidget.connect(testAction, SIGNAL("triggered()"), self.test)
        glb.mainWin.plugInMenu.addAction(testAction)

        ftActions = glb.fileTypeActions
        ftActions.addType('application/x-3ds', '.3ds')
        ftActions.addAction(self.show3DS, ('application/x-3ds',),
            QCoreApplication.translate('VtkWindow', 'Open in VtkWindow'), 5)
        ftActions.addType('application/x-vrml', '.wrl')
        ftActions.addAction(self.showVRML, ('application/x-vrml',),
            QCoreApplication.translate('VtkWindow', 'Open in VtkWindow'), 5)

        return True
コード例 #5
0
ファイル: player.py プロジェクト: marad/upnp-media-renderer
 def setupUI(self):
     
     self.browser = browser = SimpleServerBrowser()
     self.player = player = video.Player() #VideoPlayer()        
     
     dock = QDockWidget(u'Przeglądarka serwerów', self)
     dock.setContentsMargins(0, 0, 0, 0)
     
     dock.setAllowedAreas(Qt.LeftDockWidgetArea | Qt.RightDockWidgetArea)
     dock.setWidget(browser)        
     
     self.addDockWidget(Qt.LeftDockWidgetArea, dock)        
             
     #self.setCentralWidget(player.videoWidget())
     self.setCentralWidget(player.videoWidget)
     
     dock = QDockWidget(self)
     dock.setAllowedAreas(Qt.BottomDockWidgetArea)
     dock.setWidget(player.controlPanel)
     
     dock.setFloating(False)
     dock.setFeatures(QDockWidget.NoDockWidgetFeatures)
     self.addDockWidget(Qt.BottomDockWidgetArea, dock)
 
     QWidget.connect(self.browser, SIGNAL("play"), self.play)
     self.resize(800, 480)
コード例 #6
0
 def load(self):
     self.initTranslations()
     cfg = SimuVis4.Globals.config
     cfgsec = self.name.lower()
     if not cfg.has_section(cfgsec):
         cfg.add_section(cfgsec)
     cfg.set_def(cfgsec, 'show_config_warning', 'yes')
     glb = SimuVis4.Globals
     import matplotlib
     if matplotlib.__version__ < mplMinVersion or matplotlib.__version__ > mplMaxVersion:
         SimuVis4.Globals.logger.error(unicode(QCoreApplication.translate('MatPlot', 'MatPlot: need matplotlib version between %s and %s, but found %s')) % \
             (mplMinVersion, mplMaxVersion, matplotlib.__version__))
         return False
     self.matplotlib = matplotlib
     try:
         matplotlib.use('SV4Agg')
     except:
         if cfg.getboolean(cfgsec, 'show_config_warning'):
             QTimer().singleShot(8000, showConfigWarning)
     import backend_sv4agg
     self.backend_sv4agg = backend_sv4agg
     dpath = matplotlib.rcParams['datapath']
     tmp = os.path.join(dpath, 'images')
     if os.path.isdir(tmp):
         dpath = tmp
     winIcon = QIcon(os.path.join(dpath, 'matplotlib.png'))
     testAction = QAction(winIcon,
         QCoreApplication.translate('MatPlot', '&MatPlot Test'), SimuVis4.Globals.mainWin)
     testAction.setStatusTip(QCoreApplication.translate('MatPlot', 'Show a matplotlib test window'))
     QWidget.connect(testAction, SIGNAL("triggered()"), self.test)
     SimuVis4.Globals.mainWin.plugInMenu.addAction(testAction)
     return True
コード例 #7
0
ファイル: plots.py プロジェクト: nathanial/curveeditor
 def my_connect(self):
     self.plot_info = PlotInfo(self.plot,
                               self.curve_source.available_curves(),
                               self.info_panel)
     self.plot_info.my_connect()
     self.plot_canvas.add_plot(self.plot)
     QWidget.connect(self.plot_info,
                     SIGNAL("change_plot"),
                     self.change_plot)
コード例 #8
0
ファイル: widgets.py プロジェクト: marad/deadline-framework
	def setupUI(self):
		lay = QHBoxLayout()
		lay.setContentsMargins(0, 0, 0, 0)
		self.button = QPushButton('Wybierz plik')
		self.text = QLineEdit()

		lay.addWidget(self.text)
		lay.addWidget(self.button)
		self.setLayout(lay)

		QWidget.connect(self.button, SIGNAL('clicked()'), self.click)
コード例 #9
0
ファイル: __init__.py プロジェクト: jraedler/SimuVis4
 def load(self):
     import GraphicsWindow, Items
     self.GraphicsWindow = GraphicsWindow
     self.Items = Items
     xpm = QPixmap()
     xpm.loadFromData(self.getFile('graphicswin.xpm').read())
     winIcon = QIcon(xpm)
     self.winManager = SubWinManager(SimuVis4.Globals.mainWin.workSpace, self.GraphicsWindow.GraphicsWindow,
         QCoreApplication.translate('Graphics', "GraphicsView"), winIcon)
     testAction = QAction(winIcon,
         QCoreApplication.translate('Graphics', '&Graphics Test'), SimuVis4.Globals.mainWin)
     testAction.setStatusTip(QCoreApplication.translate('Graphics', 'Show a new graphics window'))
     QWidget.connect(testAction, SIGNAL("triggered()"), self.test)
     SimuVis4.Globals.mainWin.plugInMenu.addAction(testAction)
     return True
コード例 #10
0
ファイル: widgets.py プロジェクト: marad/deadline-framework
	def setupUI(self):
		layout = QVBoxLayout()
		layout.setContentsMargins(0, 0, 0, 0)

		self.out = QTextEdit()
		self.out.setSizePolicy(QSizePolicy.Expanding, QSizePolicy.Expanding)
		self.out.setTextInteractionFlags(Qt.TextSelectableByMouse | Qt.TextSelectableByKeyboard)
		self.highlighter = PythonSyntaxHighlighter( self.out, prefix = ">>>" )

		self.input = QLineEdit()
		self.input.setSizePolicy(QSizePolicy.Minimum, QSizePolicy.Minimum )
		layout.addWidget(self.out, 1)
		layout.addWidget(self.input, 0)

		self.setLayout(layout)

		QWidget.connect(self.input, SIGNAL('returnPressed()'), self.run)
コード例 #11
0
ファイル: NuConfPageKit.py プロジェクト: maximerobin/Ufwi
def createLabelAndCheckBox(labelText, changedSlot):
    # is it really needed to have 2 widgets ?
    widget = QWidget()

    sub_layout = QHBoxLayout()
    sub_layout.setObjectName('labelAndCheckBoxLayout')

    widget.setLayout(sub_layout)

    checkBox = QCheckBox(widget)
    widget.connect(checkBox, SIGNAL('stateChanged(int)'), changedSlot)
    checkBox.setText(labelText)
    checkBox.setSizePolicy(QSizePolicy.Fixed, QSizePolicy.Minimum)

    sub_layout.addWidget(checkBox)
    sub_layout.addStretch(100)

    return (widget, checkBox)
コード例 #12
0
ファイル: main.py プロジェクト: nathanial/curveeditor
    def __init__(self, track_panel, parent = None):
        QDialog.__init__(self, parent)
        self.track_panel = track_panel
        self.layout = QVBoxLayout(self)
        self.list = QListWidget(self)
        curve_names = self.track_panel.curve_source.available_curves()
        for curve_name in curve_names:
            self.list.addItem(QListWidgetItem(curve_name, self.list))

        self.ok_button = QPushButton("ok", self)
        minimum_size_policy(self.ok_button)
        QWidget.connect(self.ok_button, SIGNAL("clicked()"),
                        self.accept)
        self.list.updateGeometry()
        self.layout.addWidget(self.list)
        self.layout.addWidget(self.ok_button)
        self.updateGeometry()
        self.adjustSize()
コード例 #13
0
ファイル: merge.py プロジェクト: nathanial/curveeditor
    def _setup_buttons(self):
        self.button_box = QGroupBox(self)
        self.bb_layout = QVBoxLayout()
        
        self.merge_left_button = QPushButton("merge_left", self)
        self.bb_layout.addWidget(self.merge_left_button, 0, Qt.AlignTop)
        QWidget.connect(self.merge_left_button,
                        SIGNAL("clicked()"),
                        self.merge_left)

        self.merge_right_button = QPushButton("merge_right", self)
        self.bb_layout.addWidget(self.merge_right_button, 1, Qt.AlignTop)
        QWidget.connect(self.merge_right_button,
                        SIGNAL("clicked()"),
                        self.merge_right)

        self.layout.addWidget(self.button_box)
        self.button_box.setLayout(self.bb_layout)
コード例 #14
0
 def load(self):
     self.initTranslations()
     import vtk, VtkWidget, VtkWindow, Objects, Helpers
     self.vtk = vtk
     self.VtkWidget = VtkWidget
     self.VtkWindow = VtkWindow
     self.Objects = Objects
     self.Helpers = Helpers
     xpm = QPixmap()
     xpm.loadFromData(self.getFile('3dwin.xpm').read())
     winIcon = QIcon(xpm)
     self.winManager = SubWinManager(SimuVis4.Globals.mainWin.workSpace, self.VtkWindow.VtkWindow,
             QCoreApplication.translate('VtkWindow', "Vtk Window"), winIcon)
     testAction = QAction(winIcon,
         QCoreApplication.translate('VtkWindow', '&VtkWindow Test'), SimuVis4.Globals.mainWin)
     testAction.setStatusTip(QCoreApplication.translate('VtkWindow', 'Show a new Vtk test window'))
     QWidget.connect(testAction, SIGNAL("triggered()"), self.test)
     SimuVis4.Globals.mainWin.plugInMenu.addAction(testAction)
     return True
コード例 #15
0
ファイル: main.py プロジェクト: nathanial/curveeditor
    def __init__(self, track_panels, parent = None):
        QDialog.__init__(self, parent)
        self.track_panels = track_panels
        self.layout = QVBoxLayout(self)
        self.list = QListWidget(self)
        self.list.setSelectionMode(QAbstractItemView.MultiSelection)
        for tv in track_panels:
            name = tv.curve_source.name()
            self.list.addItem(QListWidgetItem(name, self.list))

        self.ok_button = QPushButton("ok", self)
        minimum_size_policy(self.ok_button)
        QWidget.connect(self.ok_button, SIGNAL("clicked()"),
                        self.accept)

        self.list.updateGeometry()
        self.layout.addWidget(self.list)
        self.layout.addWidget(self.ok_button)
        self.updateGeometry()
        self.adjustSize()
コード例 #16
0
ファイル: __init__.py プロジェクト: jraedler/SimuVis4
 def load(self):
     self.initTranslations()
     cfg = SimuVis4.Globals.config
     cfgsec = self.name.lower()
     if not cfg.has_section(cfgsec):
         cfg.add_section(cfgsec)
     glb = SimuVis4.Globals
     import QwtPlotWindow, QPlot, MaskedArray
     self.QwtPlotWindow = QwtPlotWindow
     self.MaskedArray = MaskedArray
     xpm = QPixmap()
     xpm.loadFromData(self.getFile('plotwin.xpm').read())
     winIcon = QIcon(xpm)
     self.winManager = SubWinManager(SimuVis4.Globals.mainWin.workSpace, QwtPlotWindow.QwtPlotWindow,
             QCoreApplication.translate('QwtPlot', 'Qwt Plotwindow'), winIcon)
     testAction = QAction(winIcon,
         QCoreApplication.translate('QwtPlot', '&QwtPlotWindow Test'), SimuVis4.Globals.mainWin)
     testAction.setStatusTip(QCoreApplication.translate('QwtPlot', 'Show a new Qwt test window'))
     QWidget.connect(testAction, SIGNAL("triggered()"), self.test)
     SimuVis4.Globals.mainWin.plugInMenu.addAction(testAction)
     return True
コード例 #17
0
ファイル: tracks.py プロジェクト: nathanial/curveeditor
 def _setup_depth_slider(self, depth_min, depth_max):
     self.depth_slider = DepthSlider(depth_min, depth_max, self)
     self.layout.addWidget(self.depth_slider)
     self.layout.setAlignment(self.depth_slider, Qt.AlignLeft)
     QWidget.connect(self.depth_slider.slider, SIGNAL("valueChanged(int)"),
                     self.set_depth)
     QWidget.connect(self.depth_slider.slider, SIGNAL("sliderPressed()"),
                     self.animate_tracks)
     QWidget.connect(self.depth_slider.slider, SIGNAL("sliderReleased()"),
                     self.deanimate_tracks)
コード例 #18
0
ファイル: video.py プロジェクト: marad/upnp-media-renderer
 def setupUI(self):
     self.mediaObject = Phonon.MediaObject(self)
     self.videoWidget = Phonon.VideoWidget(self)
     self.audioOutput = Phonon.AudioOutput(self)
     
     Phonon.createPath(self.mediaObject, self.videoWidget)
     Phonon.createPath(self.mediaObject, self.audioOutput)
     
     self.controlPanel = QWidget(self)
     
     self.previousButton = QPushButton(QIcon("icons/previous.png"), "")
     self.playButton = QPushButton(QIcon("icons/play.png"), "")
     self.pauseButton = QPushButton(QIcon("icons/pause.png"), "")
     self.stopButton = QPushButton(QIcon("icons/stop.png"), "")
     self.nextButton = QPushButton(QIcon("icons/next.png"), "")
             
     vlay = QVBoxLayout()        
     controlLayout = QHBoxLayout()
     
     controlLayout.addStretch()
     controlLayout.addWidget(self.playButton)
     controlLayout.addWidget(self.pauseButton)
     controlLayout.addWidget(self.stopButton)
     controlLayout.addStretch()
     
     controlLayout.setContentsMargins(0, 0, 0, 0)
     
     seeklay = QVBoxLayout()
     seeklay.setContentsMargins(0, 0, 0, 0)
     
     self.seekSlider = Phonon.SeekSlider(self)
     self.seekSlider.setMediaObject(self.mediaObject)
     
     self.volumeSlider = Phonon.VolumeSlider(self)
     self.volumeSlider.setAudioOutput(self.audioOutput)
     
     controlLayout.addWidget(self.volumeSlider)
     
     seeklay.addWidget(self.seekSlider)
     seeklay.addLayout(controlLayout)
     
     self.controlPanel.setLayout(seeklay)    
      
     
     vlay.addWidget(self.videoWidget)
     vlay.addWidget(self.controlPanel)
     
     self.setLayout(vlay)
     
     QWidget.connect(self.playButton, SIGNAL("clicked()"), self.play)
     QWidget.connect(self.pauseButton, SIGNAL("clicked()"), self.pause)
     QWidget.connect(self.stopButton, SIGNAL("clicked()"), self.stop)      
コード例 #19
0
ファイル: widgets.py プロジェクト: marad/deadline-framework
	def setupUI(self):
		self.setWindowTitle("%d" % self.port)
		self.mdi = QMdiArea()
		self.mdi.setHorizontalScrollBarPolicy( Qt.ScrollBarAsNeeded )
		self.mdi.setVerticalScrollBarPolicy( Qt.ScrollBarAsNeeded )

		self.inter = Interpreter(self.context)
		self.mdi.addSubWindow(self.inter,
							Qt.WindowTitleHint |
							Qt.WindowMinimizeButtonHint |
							Qt.WindowMaximizeButtonHint |
							Qt.WindowMaximized)

		#self.mdi.addSubWindow(FileBrowser())

		# Dock windows

		self.strategies = Strategies()

		#stratDock = QDockWidget("Strategies", self)
		#stratDock.setWidget(self.strategies)
		#self.addDockWidget(Qt.RightDockWidgetArea, stratDock)

		# Actions
		newDocIcon = QIcon(QPixmap("img/newdoc.png"))
		playIcon = QIcon(QPixmap("img/Play.png"))

		newSnippetAction = QAction(newDocIcon, "Nowy skrawek", self)
		newSnippetAction.setShortcut('F1')
		self.actions.append(newSnippetAction)
		runSnippetAction = QAction(playIcon, "Uruchom skrawek", self)
		runSnippetAction.setShortcut('F9')
		self.actions.append(runSnippetAction)

		layout = QHBoxLayout()
		layout.addWidget(self.mdi)
		layout.addWidget(self.strategies)

		self.setLayout(layout)

		# Connecting
		QWidget.connect(self.strategies, SIGNAL('strategyChanged'), self.strategyChanged)
		QWidget.connect(newSnippetAction, SIGNAL('triggered()'), self.newSnippet)
		QWidget.connect(runSnippetAction, SIGNAL('triggered()'), self.runSnippet)
コード例 #20
0
ファイル: plots.py プロジェクト: nathanial/curveeditor
 def my_connect(self):
     QWidget.connect(self.curve_box, 
                     SIGNAL("currentIndexChanged(int)"),
                     self.change_plot)
     self.info_panel.layout.addWidget(self)
コード例 #21
0
    #ssdp.search(target='upnp:rootdevice', mx=1)
    #ssdp.search()
    #ssdp.search(target='urn:schemas-upnp-org:service:SwitchPower:1')
    #ssdp.search(target='urn:schemas-upnp-org:device:DimmableLight:1')
    #ssdp.search(target='urn:schemas-upnp-org:device:InternetGatewayDevice:1')

    #ssdp.search()
    #ssdp.search(addr=('192.168.0.114', 1900))

    widget = QWidget()
    widget.setWindowTitle("SSDP Client/Server")
    widget.setVisible(True)

    closeButton = QPushButton("Zamknij")
    closeButton.setSizePolicy(QSizePolicy.Preferred, QSizePolicy.Preferred)
    QWidget.connect(closeButton, SIGNAL("clicked()"), upnpy.qtApp.quit)

    searchButton = QPushButton("Search")
    QWidget.connect(searchButton, SIGNAL("clicked()"), search)

    adButton = QPushButton('Advertise Device')
    QWidget.connect(adButton, SIGNAL('clicked()'), advertise)

    global edit
    edit.setSizePolicy(QSizePolicy.Expanding, QSizePolicy.Expanding)

    layout = QBoxLayout(QBoxLayout.TopToBottom)
    layout.addWidget(edit, 3)
    layout.addWidget(searchButton)
    layout.addWidget(adButton)
    layout.addWidget(closeButton)
コード例 #22
0
ファイル: desktop.py プロジェクト: rameshrajagopal/freeseer
class DesktopLinuxSrc(IVideoInput):
    name = "Desktop Source"
    os = ["linux", "linux2", "win32", "cygwin"]
    
    # ximagesrc
    desktop = "Full"
    screen = 0
    window = ""
    
    # Area Select
    start_x = 0
    start_y = 0
    end_x = 0
    end_y = 0
    
    def get_videoinput_bin(self):
        """
        Return the video input object in gstreamer bin format.
        """
        bin = gst.Bin() # Do not pass a name so that we can load this input more than once.
        
        videosrc = None
        if sys.platform.startswith("linux"):
            videosrc = gst.element_factory_make("ximagesrc", "videosrc")
            
            # Configure coordinates if we're not recording full desktop
            if self.desktop == "Area":
                videosrc.set_property("startx", self.start_x)
                videosrc.set_property("starty", self.start_y)
                videosrc.set_property("endx", self.end_x)
                videosrc.set_property("endy", self.end_y)
                log.debug('Recording Area start: %sx%s end: %sx%s' % (self.start_x, self.start_y, self.end_x, self.end_y))
                
            if self.desktop == "Window":
                videosrc.set_property("xname", self.window)
            
        elif sys.platform in ["win32", "cygwin"]:
            videosrc = gst.element_factory_make("dx9screencapsrc", "videosrc")
            
            # Configure coordinates if we're not recording full desktop
            if self.desktop == "Area":
                videosrc.set_property("x", self.start_x)
                videosrc.set_property("y", self.start_y)
                videosrc.set_property("width", self.start_x + self.end_x)
                videosrc.set_property("height", self.start_y + self.end_y)
                log.debug('Recording Area start: %sx%s end: %sx%s' % (self.start_x, self.start_y, self.end_x, self.end_y))
                
        bin.add(videosrc)
        
        colorspace = gst.element_factory_make("ffmpegcolorspace", "colorspace")
        bin.add(colorspace)
        videosrc.link(colorspace)
        
        # Setup ghost pad
        pad = colorspace.get_pad("src")
        ghostpad = gst.GhostPad("videosrc", pad)
        bin.add_pad(ghostpad)
        
        return bin
    
    def load_config(self, plugman):
        self.plugman = plugman
        
        try:
            self.desktop = self.plugman.get_plugin_option(self.CATEGORY, self.get_config_name(), "Desktop")
            self.screen = self.plugman.get_plugin_option(self.CATEGORY, self.get_config_name(), "Screen")
            self.window = self.plugman.get_plugin_option(self.CATEGORY, self.get_config_name(), "Window")
            self.start_x = int(self.plugman.get_plugin_option(self.CATEGORY, self.get_config_name(), "start_x"))
            self.start_y = int(self.plugman.get_plugin_option(self.CATEGORY, self.get_config_name(), "start_y"))
            self.end_x = int(self.plugman.get_plugin_option(self.CATEGORY, self.get_config_name(), "end_x"))
            self.end_y = int(self.plugman.get_plugin_option(self.CATEGORY, self.get_config_name(), "end_y"))
        except (ConfigParser.NoSectionError, ConfigParser.NoOptionError):
            self.plugman.set_plugin_option(self.CATEGORY, self.get_config_name(), "Desktop", self.desktop)
            self.plugman.set_plugin_option(self.CATEGORY, self.get_config_name(), "Screen", self.screen)
            self.plugman.set_plugin_option(self.CATEGORY, self.get_config_name(), "Window", self.window)
            self.plugman.set_plugin_option(self.CATEGORY, self.get_config_name(), "start_x", self.start_x)
            self.plugman.set_plugin_option(self.CATEGORY, self.get_config_name(), "start_x", self.start_y)
            self.plugman.set_plugin_option(self.CATEGORY, self.get_config_name(), "end_x", self.end_x)
            self.plugman.set_plugin_option(self.CATEGORY, self.get_config_name(), "end_x", self.end_y)
        except TypeError:
            # Temp fix for issue where reading audio_quality the 2nd time causes TypeError.
            pass
        
    def area_select(self):
        self.area_selector = AreaSelector(self)
        self.area_selector.show()
        self.gui.hide()
        self.widget.window().hide()

    def areaSelectEvent(self, start_x, start_y, end_x, end_y):
        self.plugman.set_plugin_option(self.CATEGORY, self.get_config_name(), "start_x", start_x)
        self.plugman.set_plugin_option(self.CATEGORY, self.get_config_name(), "start_y", start_y)
        self.plugman.set_plugin_option(self.CATEGORY, self.get_config_name(), "end_x", end_x)
        self.plugman.set_plugin_option(self.CATEGORY, self.get_config_name(), "end_y", end_y)
        log.debug('Area selector start: %sx%s end: %sx%s' % (start_x, start_y, end_x, end_y))
        self.gui.show()        
        self.widget.window().show()
        
    def get_widget(self):
        if self.widget is None:
            self.widget = QWidget()
            
            layout = QFormLayout()
            self.widget.setLayout(layout)
            
            self.desktopLabel = QLabel("Record Desktop")
            self.desktopButton = QRadioButton()
            layout.addRow(self.desktopLabel, self.desktopButton)
            
            # Record Area of Desktop
            areaGroup = QHBoxLayout()
            self.areaLabel = QLabel("Record Region")
            self.areaButton = QRadioButton()
            self.setAreaButton = QPushButton("Set")
            areaGroup.addWidget(self.areaButton)
            areaGroup.addWidget(self.setAreaButton)
            layout.addRow(self.areaLabel, areaGroup)
            
            # Select screen to record
            self.screenLabel = QLabel("Screen")
            self.screenSpinBox = QSpinBox()
            layout.addRow(self.screenLabel, self.screenSpinBox)
            
            # Connections
            self.widget.connect(self.desktopButton, SIGNAL('clicked()'), self.set_desktop_full)
            self.widget.connect(self.areaButton, SIGNAL('clicked()'), self.set_desktop_area)
            self.widget.connect(self.setAreaButton, SIGNAL('clicked()'), self.area_select)
            self.widget.connect(self.screenSpinBox, SIGNAL('valueChanged(int)'), self.set_screen)
            
            
        return self.widget

    def widget_load_config(self, plugman):
        self.load_config(plugman)
        
        if self.desktop == "Full":
            self.desktopButton.setChecked(True)
        elif self.desktop == "Area":
            self.areaButton.setChecked(True)
        
        # Try to detect how many screens the user has
        # minus 1 since we like to start count at 0
        max_screens = QDesktopWidget().screenCount()
        self.screenSpinBox.setMaximum(max_screens - 1)
            
            
    def set_screen(self, screen):
        self.plugman.set_plugin_option(self.CATEGORY, self.get_config_name(), "Screen", screen)
        
    def set_desktop_full(self):
        self.plugman.set_plugin_option(self.CATEGORY, self.get_config_name(), "Desktop", "Full")
        
    def set_desktop_area(self):
        self.plugman.set_plugin_option(self.CATEGORY, self.get_config_name(), "Desktop", "Area")
コード例 #23
0
class parcial(QWidget):
    def __init__(self):

        self.ingresar = QApplication(sys.argv)
        super(parcial, self).__init__(None)

        self.ingreso = QWidget()
        self.ingreso.resize(440, 320)
        self.ingreso.setWindowTitle('Autenticacion de Ingreso')

        self.sistema = QWidget()
        self.sistema.resize(480, 320)
        self.sistema.setWindowTitle('Identificador de Numeros Telefonicos')

    def inicio(self, u=0, c=0):

        self.imaje = QLabel(self.ingreso)
        self.imaje.setGeometry(10, 10, 225, 225)
        self.imaje.setPixmap(QPixmap(getcwd() + "/logo.gif"))

        self.u = QLabel('Nombre de Usuario:', self.ingreso)
        self.u.move(288, 162)

        self.c = QLabel('Clave:', self.ingreso)
        self.c.move(333, 202)

        self.m = QLabel('Usuario y(o) Clave Incorrecta', self.ingreso)
        self.m.move(250, 303)
        self.m.hide()

        self.User = QLineEdit(self.ingreso)
        self.User.setGeometry(280, 180, 140, 20)

        self.Pass = QLineEdit(self.ingreso)
        self.Pass.setGeometry(280, 220, 140, 20)

        self.entra = QPushButton('Entrar', self.ingreso)
        self.entra.setGeometry(320, 260, 60, 30)

        self.ingreso.connect(self.entra, SIGNAL('clicked()'),
                             lambda: self.revisar(self.User, self.Pass))

        self.ingreso.show()

        sys.exit(self.ingresar.exec_())

    def revisar(self, user, passw, flag=0):

        u = user.text()
        c = passw.text()
        #print u+''+c
        login = open('login.txt', 'rU')
        for i in login:
            if i == u + ',' + c + '\n':
                flag = 1
                self.m.hide()
                m = menu()
                m.exec_()

        if flag == 0:
            self.m.show()

        self.ingreso.update()
        login.close()
コード例 #24
0
ファイル: widgets.py プロジェクト: marad/deadline-framework
	def newSnippet(self):
		w = SnippetEditor()
		QWidget.connect(w, SIGNAL('codeOutput'), self.inter.write)
		self.mdi.addSubWindow(w)
		w.show()
コード例 #25
0
class parcial(QWidget):

    def __init__(self):
        
        self.ingresar = QApplication(sys.argv)
        super(parcial, self).__init__(None)
        self.contador = 0
        self.ingreso = QWidget()
        self.ingreso.resize(440, 320)
        self.ingreso.setWindowTitle('Autenticacion de Ingreso')
        
        self.sistema = QWidget()
        self.sistema.resize(480, 320)
        self.sistema.setWindowTitle('Identificador de Numeros Telefonicos')

    def inicio(self, u = 0, c = 0):
        
        self.imaje = QLabel(self.ingreso)
        self.imaje.setGeometry(10,10,225,225)
        self.imaje.setPixmap(QPixmap("logo.png"))
        
        self.u = QLabel('Nombre de Usuario:',self.ingreso)
        self.u.move(288,162)
        
        self.c = QLabel('Clave:',self.ingreso)
        self.c.move(333,202)
        
        self.m = QLabel('Usuario y(o) Clave Incorrecta', self.ingreso)
        self.m.move(250,303)
        self.m.hide()
        
        self.User = QLineEdit(self.ingreso)
        self.User.setGeometry(280, 180, 140, 20)
        
        self.Pass = QLineEdit(self.ingreso)
        self.Pass.setGeometry(280, 220, 140, 20)
        key = self.Pass
        key.setEchoMode(self.Pass.Password)
        
        self.entra = QPushButton('Entrar', self.ingreso)
        self.entra.setGeometry(320, 260, 60, 30)
        
        self.ingreso.connect(self.entra, SIGNAL('clicked()'), lambda: self.revisar(self.User, self.Pass))
        
        self.ingreso.show()
        
        sys.exit(self.ingresar.exec_())
        
        
    def revisar(self, user, passw, flag = 0):
        
        u = user.text()
        c = passw.text()
        ce = base64.b64encode(str(c))

        login = open('usuarios.txt', 'rU')
        for i in login:
            n = i.split(',')

            if (n[1] == u and n[4] == ce):
                flag = 1
                self.m.hide()
                m = menu()
                m.exec_()
                break
            elif (n[1] == u and n[4] != ce):
                self.contador += 1
                flag = 0
                self.m.show()
                if self.contador == 3:
                    bloqueado = open('bloqueados.txt', 'a')
                    bloqueado.write(i)
                    bloqueado.close()
        if flag == 0:
            self.m.show()
        
        d = strftime('%d/%m/%y')
        h = strftime('%H:%M:%S')
                            		
        conn = psycopg2.connect(database='test',user='******',password='******', host='localhost')
        cur = conn.cursor()
        cur.execute("INSERT INTO accesos (nombre, usuario, fecha, hora) VALUES ('"+n[0]+"','"+n[1]+"','"+d+"','"+h+"')")
        conn.commit()
        conn.close()

        login.close()
        entrada = open('ingreso.txt', 'a')
        entrada.write('Ha Ingresado '+n[1]+' Hoy '+d+' a las '+h+'\n')
        entrada.close()