小编Rao*_*Rao的帖子

如何使PyQt窗口状态在pyqt中最大化

我在我的应用程序中使用PyQt4 for GUI.

我想知道默认情况下如何使我的窗口最大化.

我护目镜但没找到替代品.

我尝试使用下面的代码,但它不是为了最大化,而是将窗口大小调整为桌面屏幕大小.

但是我需要在按下窗口标题栏右侧的最大化按钮时看到的效果.

screen = QtGui.QDesktopWidget().screenGeometry()
self.setGeometry(0, 0, screen.width(), screen.height())  
Run Code Online (Sandbox Code Playgroud)

python maximize pyqt4

22
推荐指数
3
解决办法
3万
查看次数

如何在python中使用OrderedDict为键分配值列表

您想要一个有序列表,其中包含具有值列表的键.

从下面的代码我能够得到一个字典与键列表,但缺少插入序列.

from collections import defaultdict

keys=['blk','pri','ani']
vals1=['blocking','primary','anim']
vals2=['S1','S2','S3']
dic = defaultdict(list)

i=0

for key in keys:
    dic[key].append(vals1[i])
    dic[key].append(vals2[i])

    i += 1

print dic
Run Code Online (Sandbox Code Playgroud)

我得到以下结果

defaultdict(<type 'list'>, {'pri': ['primary', 'S2'], 'ani': ['anim', 'S3'], 'blk': ['blocking', 'S1']})
Run Code Online (Sandbox Code Playgroud)

在这里我丢失了插入订单.

我知道Python中的defaultdict对象按定义无序的.

我知道如果你需要插入值的顺序我们需要使用OrderedDict(它在Python 2.7和3.x中可用)

所以改变了我的代码如下

从下面的代码我能够得到我需要的东西.

from collections import defaultdict,OrderedDict

keys=['blk','pri','ani']
vals1=['blocking','primary','anim']
vals2=['S1','S2','S3']
dic = OrderedDict(defaultdict(list))

i=0

for key in keys:
    dic[key].append(vals1[i])
    dic[key].append(vals2[i])

    i += 1

print dic
Run Code Online (Sandbox Code Playgroud)

现在我得到以下错误

Traceback (most recent call last):
  File "Dict.py", line 18, …
Run Code Online (Sandbox Code Playgroud)

python dictionary

10
推荐指数
1
解决办法
3万
查看次数

如何在PyQt中为QTableView创建过滤器

我正在使用QTableView来显示从中检索的数据 QtSql.QSqlQuery

我想知道如何在excel中为它创建过滤器.

在此输入图像描述

在上面的图像中,我需要获取所有heders的过滤器(Sh_Code,SH_Seq,Stage)过滤器将具有我们可以过滤的那一列中的唯一值.

要求的结果

我需要Table视图标题,其中包含一个列表框,列出该列中的所有唯一值,就像下面的excel一样.无需Top,Standard过滤器......如图所示.只需要"全部"和独特的"列项"

在此输入图像描述

这是来自我的.NET应用程序,上传时更加清晰

在此输入图像描述

python qt pyqt qtableview pyqt4

10
推荐指数
2
解决办法
2万
查看次数

如何在pyqt中限制QLineEdit中的用户输入

我有一个QLineEdit,我想限制QLineEdit只接受整数.它应该像inputmask一样工作.但我不想使用inputmask,因为如果用户点击QLineEdit光标将位于鼠标被点击的位置.并且用户需要导航到0位置并键入他想要的前夕.

有没有替代品.

python pyqt4 qlineedit

10
推荐指数
2
解决办法
2万
查看次数

使用多个SQL Statments更新数据库

我正在使用从MySQL站点下载的mysql connector.Python 1.0.9.

这里有一个样本

DROP TABLE IF EXISTS my_table; 
CREATE TABLE my_table
(id INT NOT NULL AUTO_INCREMENT UNIQUE,
Shot VARCHAR(4),
sec varchar(5),
lay VARCHAR(15) NOT NULL,
lay_status VARCHAR(15) NOT NULL,
blk VARCHAR(10) NOT NULL,
blk_status VARCHAR(15) NOT NULL,
pri VARCHAR(10) NOT NULL,
pri_status VARCHAR(15) NOT NULL,
ani VARCHAR(10) NOT NULL,
ani_status VARCHAR(15) NOT NULL,
status VARCHAR(5)
);

INSERT INTO my_table VALUES
(1,'SH01','3','1863','yes','1863','yes','P4645','yes','P4557','yes','Over'),
(2,'SH02','2.5','1863','yes','P4645','no','P4557','yes','1863','no','Over'),
(3,'SH03','0.5','P4645','yes','P4557','yes','1863','yes','1863','yes','WIP'),
(4,'SH04','1.25','1863','no','P4645','no','P4557','yes','1863','yes','RTK'),
(5,'SH05','1','1863','yes','1863','yes','P4645','yes','P4557','yes','WIP'),
(6,'SH06','6','P4557','yes','P4645','yes','P4645','yes','P4557','yes','WIP');
Run Code Online (Sandbox Code Playgroud)

我能够执行如下的单个SQL语句.

import mysql.connector

cnx = mysql.connector.connect(user='scott', database='test')
cursor = cnx.cursor() …
Run Code Online (Sandbox Code Playgroud)

python mysql database-connection mysql-python

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

如何使用Google Cardboard SDK for Unity创建VR视频播放器

我刚刚下载了Google Cardboard SDK以实现统一.我很好,能够创建VR项目.安装很好,一切正常.

我是VR Apps的诺布.刚刚介入VR应用程序.

我正计划为Android创建我自己的VR Enabled Video Player,就像默认的Google Cardboard Youtube播放器一样.

任何人都可以建议我链接或指导我开发此应用程序.

unity-game-engine google-cardboard virtual-reality

7
推荐指数
3
解决办法
3万
查看次数

如何在QMenu中隐藏子菜单

我有一个生成菜单项的应用程序,我想设置特定子菜单的可见性.

我试过用setVisibility(False),但这没用. setVisibility()适用于菜单项,但不适用于QMenus中的子菜单.

看看下面的代码片段:

import sys
from PyQt4 import QtGui

class Window(QtGui.QWidget):
    def __init__(self, parent=None):
        super(Window, self).__init__(parent)
        self.menu = QtGui.QMenu()
        self.actio1 = QtGui.QAction('One', self)
        self.actio2 = QtGui.QAction('Two', self)
        self.menu.addAction(self.actio1)
        self.menu.addAction(self.actio2)
        self.actio1.setVisible(False)
        self.submenu = QtGui.QMenu('submenu', self)
        self.submenu.addAction('sub one')
        self.submenu.addAction('sub two')
        self.menu.addMenu(self.submenu)        
        self.submenu2 = QtGui.QMenu('submenu 2', self)
        self.submenu2.addAction('sub 2 one')
        self.submenu2.addAction('sub 2 two')
        self.menu.addMenu(self.submenu2)        
        self.submenu2.setVisible(False)
        layout = QtGui.QHBoxLayout()
        layout.addWidget(self.menu)
        self.setLayout(layout)

if __name__ == '__main__':

    app = QtGui.QApplication(sys.argv)
    w = Window()
    w.show()
    sys.exit(app.exec_())
Run Code Online (Sandbox Code Playgroud)

在上面的例子中,我可以隐藏名为"One"的菜单项,但不能隐藏名为"submenu 2"的子菜单

任何人都可以给我一个想法......

python hide pyqt4 submenu

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

如何在pyqt中同时运行两个不同的线程

我有一种情况,我需要一个接一个地启动两个线程.我尝试了以下代码片段,在这里我能够启动Thread12但无法启动Thread2.我该如何开始......?如何在另一个中开始2个线程......?

代码段

class Thread1(QtCore.QThread):

    Thread1Signal = QtCore.pyqtSignal(str)

    def __init__(self):
        super(Thread1, self).__init__()

    def run(self):
        print 'Thread1 started'
        While True:

            #some statments
            if Condition:
                Thread1Signal.emit('Yes')
            else:
                Thread1Signal.emit('No')

class Thread2(QtCore.QThread):

    Thread2Signal = QtCore.pyqtSignal(str)

    def __init__(self):
        super(Thread2, self).__init__()

    def run(self):
        print 'Thread2 started'
        While True:

            #some statments
            if Condition:
                Thread2Signal.emit('Yes')
            else:
                Thread2Signal.emit('No')

class MainClass(QtCore.QObject):

    MainSignal1 = QtCore.pyqtSignal(str)
    MainSignal2 = QtCore.pyqtSignal(str)

    def __init__(self):
        super(MainClass, self).__init__()   

        Threadinstance1 = Thread1()
        Threadinstance1.Thread1Signal.connect(MainSignal1)

        Threadinstance2 = Thread2()
        Threadinstance2.Thread2Signal.connect(MainSignal2)


   def start(self):

       Threadinstance1.start()
       Threadinstance2.start()                #Thread2 never starts.

def signal1called(s):

    print s


def …
Run Code Online (Sandbox Code Playgroud)

python qt multithreading pyqt pyqt4

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

如何在Pyqt4中设置QTableView头名称

我想知道如何在QTableview中设置自定义标题名称

当我创建一个QTableview时,我得到列和行标题名称为1,2,3,4.我想知道如何设置自己的列和标题标题.


我根据需要得到了解决方案,希望它可以帮助遇到相同情况的人

python header qtableview pyqt4

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

导入错误:python 中没有对语言“eng”的本地化支持

ImportError: No localization support for language 'eng'在 Python 中使用 MySQL 连接器时遇到了问题。我的回溯如下。

Traceback (most recent call last):
  File \"DB_Module.py\", line 151, in QueryDatabase
  File \"\\share\app\Modules\mysql\connector\__init__.py\", line 44, in Connect
  File \"\\share\app\Modules\mysql\connector\connection.py\", line 106, in __init__
  File \"\\share\app\Modules\mysql\connector\connection.py\", line 325, in connect
  File \"\\share\app\Modules\mysql\connector\connection.py\", line 288, in _open_connection
  File \"\\share\app\Modules\mysql\connector\network.py\", line 326, in open_connection
  File \"\\sfs\show_time\Showtime_Package\showtime\Modules\mysql\connector\errors.py\", line 160, in __init__
  File \"\\share\app\Modules\mysql\connector\locales\__init__.py\", line 52, in get_client_error
ImportError: No localization support for language 'eng'
Run Code Online (Sandbox Code Playgroud)

我当前使用的 SQL 是

SELECT * FROM systemdetails …
Run Code Online (Sandbox Code Playgroud)

python database-connection mysql-python

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