久久久久久久av_日韩在线中文_看一级毛片视频_日本精品二区_成人深夜福利视频_武道仙尊动漫在线观看

<small id='jD86J'></small><noframes id='jD86J'>

<tfoot id='jD86J'></tfoot>
    <bdo id='jD86J'></bdo><ul id='jD86J'></ul>

    <legend id='jD86J'><style id='jD86J'><dir id='jD86J'><q id='jD86J'></q></dir></style></legend>
  1. <i id='jD86J'><tr id='jD86J'><dt id='jD86J'><q id='jD86J'><span id='jD86J'><b id='jD86J'><form id='jD86J'><ins id='jD86J'></ins><ul id='jD86J'></ul><sub id='jD86J'></sub></form><legend id='jD86J'></legend><bdo id='jD86J'><pre id='jD86J'><center id='jD86J'></center></pre></bdo></b><th id='jD86J'></th></span></q></dt></tr></i><div class="qwawimqqmiuu" id='jD86J'><tfoot id='jD86J'></tfoot><dl id='jD86J'><fieldset id='jD86J'></fieldset></dl></div>

    1. 在QMainWindow中放置一個(gè)小部件,如何定位而不是

      Placing a widget in QMainWindow, how to position instead of setCentralWidget(在QMainWindow中放置一個(gè)小部件,如何定位而不是setCentralWidget)

          <tfoot id='859We'></tfoot>
        • <legend id='859We'><style id='859We'><dir id='859We'><q id='859We'></q></dir></style></legend>

          <small id='859We'></small><noframes id='859We'>

        • <i id='859We'><tr id='859We'><dt id='859We'><q id='859We'><span id='859We'><b id='859We'><form id='859We'><ins id='859We'></ins><ul id='859We'></ul><sub id='859We'></sub></form><legend id='859We'></legend><bdo id='859We'><pre id='859We'><center id='859We'></center></pre></bdo></b><th id='859We'></th></span></q></dt></tr></i><div class="qwawimqqmiuu" id='859We'><tfoot id='859We'></tfoot><dl id='859We'><fieldset id='859We'></fieldset></dl></div>

            <bdo id='859We'></bdo><ul id='859We'></ul>
                <tbody id='859We'></tbody>

                本文介紹了在QMainWindow中放置一個(gè)小部件,如何定位而不是setCentralWidget的處理方法,對(duì)大家解決問題具有一定的參考價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)吧!

                問題描述

                我正在使用 QGridLayout,通過使用 setCentralWidget 函數(shù),行和列 (0,0) 從窗口的中心開始,留下很多空白空間.

                I'm using QGridLayout, and by using the setCentralWidget function, the row and column (0,0) start in the center of the window which leaves a lot of empty space.

                如何讓它居中但從窗口頂部開始而不是在中間?

                How can I get it centered but beginning from the top of the window and not in the middle?

                我對(duì) Qt 還很陌生,想知道我是否處理錯(cuò)了?我應(yīng)該改為為 QWidget 創(chuàng)建一個(gè)新類嗎?

                I'm pretty new to Qt, and was wondering if I'm handling it all wrong? Should I instead make a new class for QWidget?

                class App(QMainWindow):
                    def __init__(self):
                        super().__init__()
                        self.title = 'Data visualizing'
                        self.left = 50
                        self.top = 50
                        self.width = 300
                        self.height = 100
                        self.initUI()
                
                    def initUI(self):
                        self.central_widget = QWidget()
                        self.setCentralWidget(self.central_widget)
                
                        # Create textbox
                        self.textbox = QLineEdit(self)
                        self.textbox.setReadOnly(True)
                
                        # Create textbox 2
                        self.textbox2 = QLineEdit(self)
                        self.textbox2.setReadOnly(True)
                
                        # Create button
                        self.button = QPushButton('Load file 1', self)
                        self.button.setToolTip('Click here to browse for the first data file')
                        self.button.clicked.connect(self.on_click)
                
                        # Create button 2
                        self.button2 = QPushButton('Load file 2', self)
                        self.button2.setToolTip('Click here to browse for the first data file')
                        self.button2.clicked.connect(self.on_click)
                
                        grid = QGridLayout()
                
                        grid.addWidget(self.textbox, 0, 0, 0, 3)
                        grid.addWidget(self.textbox2, 0, 3, 0, 3)
                        grid.addWidget(self.button, 1, 1, 1, 1)
                        grid.addWidget(self.button2, 1, 4, 1, 1)
                
                        self.setWindowTitle(self.title)
                        self.setGeometry(self.left, self.top, self.width, self.height)
                
                        self.centralWidget().setLayout(grid)
                        self.show()
                
                    def openFileNameDialog(self):
                        options = QFileDialog.Options()
                        options |= QFileDialog.DontUseNativeDialog
                        fileName, _ = QFileDialog.getOpenFileName(self, "QFileDialog.getOpenFileName()", "",
                                                                  "All Files (*);;Comma seperated files (*.csv)", options=options)
                        if fileName:
                            self.textbox.setText(fileName)
                            print(fileName)
                
                    @pyqtSlot()
                    def on_click(self):
                        self.openFileNameDialog()
                        print('PyQt5 button click')
                
                if __name__ == '__main__':
                    app = QApplication(sys.argv)
                    ex = App()
                    sys.exit(app.exec_())
                
                if __name__ == '__main__':
                    main()
                

                推薦答案

                你必須在第2行建立一個(gè)Stretch,但在此之前你必須更正rowSpan:

                You have to establish a Stretch in row 2, but before that you must correct the rowSpan in:

                grid.addWidget(self.textbox, 0, 0, 0, 3)
                grid.addWidget(self.textbox2, 0, 3, 0, 3)
                

                為了理解,讓我們回顧一下文檔:

                To understand, let's review the docs:

                void QGridLayout::addWidget(QWidget *widget, int fromRow, intfromColumn, int rowSpan, int columnSpan, Qt::Alignment 對(duì)齊 =...)

                這是一個(gè)重載函數(shù).

                此版本將給定的小部件添加到單元格網(wǎng)格中,跨越多個(gè)行/列.單元格將從 fromRow 開始,fromColumn 跨越rowSpan 行和 columnSpan 列.小部件將具有給定的對(duì)齊.

                This version adds the given widget to the cell grid, spanning multiple rows/columns. The cell will start at fromRow, fromColumn spanning rowSpan rows and columnSpan columns. The widget will have the given alignment.

                如果 rowSpan 和/或 columnSpan 為 -1,則小部件將分別延伸到底部和/或右邊緣.

                If rowSpan and/or columnSpan is -1, then the widget will extend to the bottom and/or right edge, respectively.

                也就是說(shuō),rowSpan 表示小部件將占用多少行,但您將其指示為 0,因此布局將不再處理大小而僅處理位置,您必須將其更改為 1.

                That is, the rowSpan indicates how many rows the widget will occupy, but you are indicating it to 0 so the size will no longer be handled by the layout but only the position, you must change it to 1.

                import sys
                from PyQt5 import QtCore, QtGui, QtWidgets
                
                
                class App(QtWidgets.QMainWindow):
                    def __init__(self):
                        super().__init__()
                        self.title = 'Data visualizing'
                        self.left, self.top, self.width, self.height = 50, 50, 300, 100
                        self.initUI()
                
                    def initUI(self):
                        self.central_widget = QtWidgets.QWidget()
                        self.setCentralWidget(self.central_widget)
                
                        # Create textboxs
                        self.textbox = QtWidgets.QLineEdit(readOnly=True)
                        self.textbox2 = QtWidgets.QLineEdit(readOnly=True)
                
                        # Create buttons
                        self.button = QtWidgets.QPushButton('Load file 1', 
                            toolTip = 'Click here to browse for the first data file')
                        self.button.clicked.connect(self.on_click)
                        self.button2 = QtWidgets.QPushButton('Load file 2',
                            toolTip = 'Click here to browse for the first data file')
                        self.button2.clicked.connect(self.on_click)
                
                        grid = QtWidgets.QGridLayout(self.centralWidget())
                
                        grid.addWidget(self.textbox, 0, 0, 1, 3)
                        grid.addWidget(self.textbox2, 0, 3, 1, 3)
                        grid.addWidget(self.button, 1, 1, 1, 1)
                        grid.addWidget(self.button2, 1, 4, 1, 1)
                        grid.setRowStretch(2, 1)
                
                        self.setWindowTitle(self.title)
                        self.setGeometry(self.left, self.top, self.width, self.height)
                        self.show()
                
                    def openFileNameDialog(self):
                        options = QtWidgets.QFileDialog.Options()
                        options |= QtWidgets.QFileDialog.DontUseNativeDialog
                        fileName, _ = QtWidgets.QFileDialog.getOpenFileName(self, "QFileDialog.getOpenFileName()", "",
                                                                  "All Files (*);;Comma seperated files (*.csv)", options=options)
                        if fileName:
                            self.textbox.setText(fileName)
                            print(fileName)
                
                    @QtCore.pyqtSlot()
                    def on_click(self):
                        self.openFileNameDialog()
                        print('PyQt5 button click')
                
                if __name__ == '__main__':
                    app = QtWidgets.QApplication(sys.argv)
                    ex = App()
                    sys.exit(app.exec_())
                
                if __name__ == '__main__':
                    main()
                

                這篇關(guān)于在QMainWindow中放置一個(gè)小部件,如何定位而不是setCentralWidget的文章就介紹到這了,希望我們推薦的答案對(duì)大家有所幫助,也希望大家多多支持html5模板網(wǎng)!

                【網(wǎng)站聲明】本站部分內(nèi)容來(lái)源于互聯(lián)網(wǎng),旨在幫助大家更快的解決問題,如果有圖片或者內(nèi)容侵犯了您的權(quán)益,請(qǐng)聯(lián)系我們刪除處理,感謝您的支持!

                相關(guān)文檔推薦

                How to bind a function to an Action from Qt menubar?(如何將函數(shù)綁定到 Qt 菜單欄中的操作?)
                PyQt progress jumps to 100% after it starts(PyQt 啟動(dòng)后進(jìn)度躍升至 100%)
                How to set yaxis tick label in a fixed position so that when i scroll left or right the yaxis tick label should be visible?(如何將 yaxis 刻度標(biāo)簽設(shè)置在固定位置,以便當(dāng)我向左或向右滾動(dòng)時(shí),yaxis 刻度標(biāo)簽應(yīng)該可見
                `QImage` constructor has unknown keyword `data`(`QImage` 構(gòu)造函數(shù)有未知關(guān)鍵字 `data`)
                Change x-axis ticks to custom strings(將 x 軸刻度更改為自定義字符串)
                How to show progress bar while saving file to excel in python?(如何在python中將文件保存為excel時(shí)顯示進(jìn)度條?)
                  <bdo id='8jLhF'></bdo><ul id='8jLhF'></ul>
                  • <i id='8jLhF'><tr id='8jLhF'><dt id='8jLhF'><q id='8jLhF'><span id='8jLhF'><b id='8jLhF'><form id='8jLhF'><ins id='8jLhF'></ins><ul id='8jLhF'></ul><sub id='8jLhF'></sub></form><legend id='8jLhF'></legend><bdo id='8jLhF'><pre id='8jLhF'><center id='8jLhF'></center></pre></bdo></b><th id='8jLhF'></th></span></q></dt></tr></i><div class="qwawimqqmiuu" id='8jLhF'><tfoot id='8jLhF'></tfoot><dl id='8jLhF'><fieldset id='8jLhF'></fieldset></dl></div>

                  • <small id='8jLhF'></small><noframes id='8jLhF'>

                      <tbody id='8jLhF'></tbody>

                        <tfoot id='8jLhF'></tfoot><legend id='8jLhF'><style id='8jLhF'><dir id='8jLhF'><q id='8jLhF'></q></dir></style></legend>

                        1. 主站蜘蛛池模板: 羞羞的视频在线观看 | 国产高清av | 亚洲区视频| 成人看片网| 久久久久久国产精品 | 国产福利视频 | 97香蕉视频 | 欧美成人精品一区二区 | 国产成人精品一区二区 | 国产精品婷婷 | www.三级| 精品一区二区三区av | 黄色精品视频 | 天天躁日日躁狠狠很躁 | 久久在线视频 | h在线视频 | 亚洲一区二区三区在线播放 | 日韩欧美在线免费观看 | 久久精品国产一区 | 国产欧美成人 | a天堂在线视频 | 在线一区二区三区 | 欧洲一级毛片 | 久久伊人国产 | 欧美色图一区二区 | 精品久久网站 | 中文字幕亚洲综合 | a在线播放| 亚洲国产欧美日韩在线 | 狠狠做深爱婷婷久久综合一区 | 日韩欧美国产高清91 | 婷婷俺也去 | 黄色片视频免费 | 久久精品亚洲 | 黄色片在线免费观看 | 久久在线免费观看 | 亚洲国产日韩欧美 | 午夜小视频在线观看 | 午夜精品在线观看 | 色爽av| 国产一级片网站 |