小编Stj*_*pan的帖子

PyQt GUI操作顺序

我有以下问题:

在PyQt中按下按钮后,我必须做两个动作:

  1. 立即更新QTextBrowser
  2. 运行一个等待一段时间的方法,然后启用一些按钮.

我得到的是在等待一段时间后,1和2同时完成.

部分代码是:

    #in the signals definition...
    signalUpdateProgressDialog = QtCore.pyqtSignal(str) # signal definition

    #in the connections definition...
    self.btnStopOpt.clicked.connect(self.clickStop1)
    self.btnStopOpt.clicked.connect(self.clickStop)

def updateProgressDialog(self, dialog):
    self.ProgressDialog.setHtml(dialog)

def clickStop1(self):
    # notify
    self.signalUpdateProgressDialog.emit('Message')

def clickStop(self):

    # shut down thread...

    print "Thread Stopped"

    time.sleep(5)
    # enable run button
    self.btnRun.setEnabled(True)
Run Code Online (Sandbox Code Playgroud)

我尝试了所有的clickStop方法,我尝试使用和不发出updateProgress信号.始终,GUI仅在等待期后刷新.

不过,我以前遇到过这个问题,我想我不明白它是如何与GUI一起工作的.一般来说,如何获得所需的行为:在执行代码行时更新GUI?

python user-interface pyqt pyqt4 python-2.7

2
推荐指数
1
解决办法
829
查看次数

PyQT Qtabwidget 添加、删除、隐藏、显示特定选项卡

我正在尝试构建一个 GUI,它将:

  1. 加载带有描述特定类型问题的参数的文件。
  2. 基于文件的参数,显示只有特定的标签QTabwidget(很多在Qt Designer中预定义的.ui

我打算制作一个QTabwidget,比如 10 个标签,但根据加载的参数,只有一个应该是可见的。启用某些选项卡不是一个选项,因为它需要很多空间并且禁用的选项卡是灰色的。我不想看到禁用的标签。

删除选项卡可能是一个选项,但索引与特定选项卡无关,因此我必须处理索引的变化。此外,如果用户加载具有不同参数的另一个文件,则应添加一个好的选项卡并删除当前的选项卡。

我的问题是:

  1. 如何有效地做到这一点?
  2. 使用任何其他类型的小部件会更好吗?
  3. 在 Qt 设计器中,是否可以一个接一个地定义许多小部件,然后将好的一个推到前面。如果是,如何?以及如何编辑和更改其中任何一个?
  4. 如果使用RemoveTab,如何在选项卡上使用指针而不是索引?

我使用 PyQt4

python pyqt qt-designer qtabwidget

1
推荐指数
1
解决办法
6871
查看次数