青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品

Cpper
C/C++高級工程師 Android高級軟件工程師 IT集成工程師 音頻工程師 熟悉c,c++,java,c#,py,js,asp等多種語言 程序猿

使用QT Designer設(shè)計軟件界面
使用過程沒什么說的

假定生成的ui文件如下:
<?xml version="1.0" encoding="UTF-8"?>
<ui version="4.0">
 
<class>Form</class>
 
<widget class="QWidget" name="Form">
  
<property name="geometry">
   
<rect>
    
<x>0</x>
    
<y>0</y>
    
<width>203</width>
    
<height>177</height>
   
</rect>
  
</property>
  
<property name="windowTitle">
   
<string>Form</string>
  
</property>
  
<widget class="QWidget" name="">
   
<property name="geometry">
    
<rect>
     
<x>20</x>
     
<y>20</y>
     
<width>164</width>
     
<height>139</height>
    
</rect>
   
</property>
   
<layout class="QVBoxLayout" name="verticalLayout_3">
    
<item>
     
<widget class="QLineEdit" name="lineEdit"/>
    
</item>
    
<item>
     
<layout class="QHBoxLayout" name="horizontalLayout">
      
<item>
       
<layout class="QVBoxLayout" name="verticalLayout_2">
        
<item>
         
<widget class="QPushButton" name="pushButton_7">
          
<property name="text">
           
<string>PushButton</string>
          
</property>
         
</widget>
        
</item>
        
<item>
         
<widget class="QPushButton" name="pushButton_5">
          
<property name="text">
           
<string>PushButton</string>
          
</property>
         
</widget>
        
</item>
        
<item>
         
<widget class="QPushButton" name="pushButton">
          
<property name="text">
           
<string>PushButton</string>
          
</property>
         
</widget>
        
</item>
       
</layout>
      
</item>
      
<item>
       
<layout class="QVBoxLayout" name="verticalLayout">
        
<item>
         
<widget class="QPushButton" name="pushButton_2">
          
<property name="text">
           
<string>PushButton</string>
          
</property>
         
</widget>
        
</item>
        
<item>
         
<widget class="QPushButton" name="pushButton_8">
          
<property name="text">
           
<string>PushButton</string>
          
</property>
         
</widget>
        
</item>
        
<item>
         
<widget class="QPushButton" name="pushButton_4">
          
<property name="text">
           
<string>PushButton</string>
          
</property>
         
</widget>
        
</item>
       
</layout>
      
</item>
     
</layout>
    
</item>
   
</layout>
  
</widget>
 
</widget>
 
<resources/>
 
<connections/>
</ui>
然后修改pro文件
加入對QUitools的鏈接
CONFIG += uitools
其main.cpp如下:
#include <QFile>
#include 
<QtGui/QApplication>
#include 
<QtGui/QWidget>
#include 
<QtGui/QLineEdit>
#include 
<QtUiTools/QuiLoader>

int main(int argc, char *argv[])
{
    QApplication a(argc, argv);
    QUiLoader ui;
    QFile file(
"dlg.ui");
    QWidget
* widget = ui.load(&file);
    
if(widget)
    {
        widget
->setWindowTitle("Dlg");
        QLineEdit
* lineedit = widget->findChild<QLineEdit*>("lineEdit");
        lineedit
->setStyleSheet("QLineEdit {background-color: yellow}");
        lineedit
->setText("information.");
        widget
->show();
    }
    
return a.exec();
}
posted @ 2011-08-05 22:01 ccsdu2009 閱讀(945) | 評論 (0)編輯 收藏
 
#include <QtGui/QApplication>
#include 
<QtGui/QScrollArea>
#include 
"widget.h"

int main(int argc, char *argv[])
{
    QApplication a(argc, argv);
    Widget 
*widget = new Widget;

    QScrollArea area;
    area.setWidget(widget);
    area.viewport()
->setBackgroundRole(QPalette::Dark);
    area.viewport()
->setAutoFillBackground(true);
    area.setWindowTitle(
"Icon Cool");
    area.show();

    
return a.exec();
}
posted @ 2011-08-03 22:37 ccsdu2009 閱讀(478) | 評論 (0)編輯 收藏
 
#include <QColor>
#include 
<QImage>
#include 
<QtGui/QWidget>

class Widget : public QWidget
{
    Q_OBJECT
    Q_PROPERTY(QColor penColor READ penColor WRITE setPenColor)
    Q_PROPERTY(QImage iconImage READ iconImage WRITE setIconImage)
    Q_PROPERTY(
int zoomFactor READ zoomFactor WRITE setZoomFactor)
public:
    Widget(QWidget 
*parent = 0);
    
~Widget();

    
void   setPenColor(const QColor& newColor);
    QColor penColor()
const{return curColor;}
    
void   setZoomFactor(int newZoom);
    
int    zoomFactor()const{return zoom;}
    
void   setIconImage(const QImage& image);
    QImage iconImage()
const{return image;}
    QSize  sizeHint()
const;
protected:
    
void   mousePressEvent(QMouseEvent *event);
    
void   mouseMoveEvent(QMouseEvent* event);
    
void   paintEvent(QPaintEvent* event);
private:
    
void   setImagePixel(const QPoint &pos,bool opaque);
    QRect  pixelRect(
int i,int j)const;

    QColor curColor;
    QImage image;
    
int    zoom;
};

#include <QtGui>
#include "widget.h"
Widget::Widget(QWidget *parent)
 : QWidget(parent)
{
 this->setAttribute(Qt::WA_StaticContents);
 this->setSizePolicy(QSizePolicy::Minimum,QSizePolicy::Minimum);
 this->curColor = Qt::black;
 this->zoom = 8;
 image = QImage(16,16,QImage::Format_ARGB32);
 image.fill(qRgba(0,0,0,0));
}
Widget::~Widget()
{ 
}
QSize Widget::sizeHint()const
{
 QSize size = zoom * image.size();
 if(zoom >= 3)
 size += QSize(1,1);
 return size;
}
void Widget::setPenColor(const QColor& newColor)
{
 curColor = newColor;
}
void Widget::setIconImage(const QImage& image)
{
 if(this->image != image)
 {
 this->image = image.convertToFormat(QImage::Format_ARGB32);
 update();
 this->updateGeometry();
 }
}
void Widget::paintEvent(QPaintEvent* event)
{
 QPainter painter(this);
 if(zoom >=3)
 {
 painter.setPen(this->palette().foreground().color());
 for(int i = 0; i <= image.width();++i)
 painter.drawLine(zoom*i,0,zoom*i,zoom*image.height());
 for(int j = 0;j <= image.height();j++)
 painter.drawLine(0,zoom*j,zoom*image.width(),zoom*j);
 }
 for(int i = 0; i < image.width();i++)
 {
 for(int j = 0;j < image.height();j++)
 {
 QRect rect = this->pixelRect(i,j);
 if(!event->region().intersect(rect).isEmpty())
 {
 QColor color = QColor::fromRgba(image.pixel(i,j));
 if(color.alpha() < 255)
 painter.fillRect(rect,Qt::white);
 painter.fillRect(rect,color);
 }
 }
 }
}
QRect Widget::pixelRect(int i, int j) const
{
 if(zoom >=3)
 return QRect(zoom*i+1,zoom*j+1,zoom-1,zoom-1);
 return QRect(zoom*i,zoom*j,zoom,zoom);
}
void Widget::mousePressEvent(QMouseEvent *event)
{
 if(event->button() == Qt::LeftButton)
 setImagePixel(event->pos(),true);
 else if(event->button() == Qt::RightButton)
 setImagePixel(event->pos(),false);
}
void Widget::mouseMoveEvent(QMouseEvent *event)
{
 if(event->buttons() & Qt::LeftButton)
 setImagePixel(event->pos(),true);
 else if(event->buttons() & Qt::RightButton)
 setImagePixel(event->pos(),false);
}
void Widget::setImagePixel(const QPoint &pos, bool opaque)
{
 int i = pos.x()/zoom;
 int j = pos.y()/zoom;
 if(image.rect().contains(i,j))
 {
 if(opaque)
 image.setPixel(i,j,penColor().rgba());
 else
 image.setPixel(i,j,qRgba(0,0,0,0));
 this->update(this->pixelRect(i,j));
 }
}
void Widget::setZoomFactor(int newZoom)
{
 if(newZoom < 1)
 newZoom = 1;
 if(newZoom != zoom)
 {
 zoom = newZoom;
 update();
 updateGeometry();
 }
}
幾點說明:
1.宏 Q_PROPERTY 聲明屬性讀寫屬性
2.setSizePolicy(.,.) 說明控件最小尺寸為推薦尺寸
3.sizeHint() 獲得控件推薦尺寸
4.控件 update()/updateGeometry()用于下次重繪和調(diào)整控件尺寸
5.在函數(shù)paintEvent中繪制圖元
6.一個控件的調(diào)色板有3個顏色組 激活,非激活,不可用
posted @ 2011-08-03 22:15 ccsdu2009 閱讀(1202) | 評論 (0)編輯 收藏
 
MainWindow::MainWindow(QWidget *parent)
    : QMainWindow(parent)
{
    edit 
= new QTextEdit;
    
this->setCentralWidget(edit);
    setAcceptDrops(
true);
    
this->setWindowTitle(tr("Text Editor"));
}

MainWindow::
~MainWindow()
{
}

void MainWindow::dragEnterEvent(QDragEnterEvent* event)
{
    
if(event->mimeData()->hasFormat("text/uri-list"))
        
event->acceptProposedAction();
}

void MainWindow::dropEvent(QDropEvent* event)
{
    QList
<QUrl> uri = event->mimeData()->urls();
    
if(uri.isEmpty())
        
return;
    QString file 
= uri.first().toLocalFile();
    
if(file.isEmpty())
        
return;
    
this->setWindowTitle(tr("%1 -- %2").arg(file).arg("Drag File"));
}
posted @ 2011-08-02 22:39 ccsdu2009 閱讀(542) | 評論 (0)編輯 收藏
 
一個簡單的使用例子如下:
#include "mainwindow.h"
#include 
<QtGui/QDockWidget>
#include 
<QtGui/QTextEdit>

MainWindow::MainWindow(QWidget 
*parent)
    : QMainWindow(parent)
{
    QDockWidget
* widget = new QDockWidget(tr("DockWidget"));
    QTextEdit
* edit = new QTextEdit;
    widget
->setWidget(edit);
    widget
->setAllowedAreas(Qt::LeftDockWidgetArea | Qt::RightDockWidgetArea);
    
this->addDockWidget(Qt::LeftDockWidgetArea,widget);
}

MainWindow::
~MainWindow()
{

}
需要說明的是僅MainWidow僅可設(shè)置Dock
posted @ 2011-08-02 22:16 ccsdu2009 閱讀(798) | 評論 (0)編輯 收藏
 
#include <QtGui/QApplication>
#include 
<QtGui/QTextEdit>
#include 
<QtGui/QSplitter>

int main(int argc, char *argv[])
{
    QApplication a(argc, argv);

    QTextEdit
* text1 = NULL;
    QTextEdit
* text2 = NULL;
    QSplitter
* splitter;
    text1 
= new QTextEdit;
    text2 
= new QTextEdit;
    splitter 
= new QSplitter(Qt::Vertical);
    splitter
->addWidget(text1);
    QTextEdit
* text3 = new QTextEdit;
    QSplitter
* sp1 = new QSplitter(Qt::Horizontal);
    splitter
->addWidget(text2);
    splitter
->setStretchFactor(1,1);
    sp1
->addWidget(splitter);
    sp1
->addWidget(text3);
    sp1
->show();
    
return a.exec();
}
posted @ 2011-08-02 21:52 ccsdu2009 閱讀(641) | 評論 (0)編輯 收藏
 
接上文
一個簡單的基于QT的程序啟動畫面代碼為:
#include <QtGui/QApplication>
#include 
<QtGui/QSplashScreen>
#include 
<QtGui/QPixmap>
#include 
"registerdlg.h"

int main(int argc, char *argv[])
{
    QApplication a(argc, argv);
    QSplashScreen
* splash = new QSplashScreen(QPixmap("DevCPP.bmp"));
    splash
->show();

    RegisterDlg w;

    
//! load some data

    Qt::Alignment topright 
= Qt::AlignRight | Qt::AlignTop;
    splash
->showMessage(QObject::tr("Loading addins"),topright,Qt::blue);

    
//! load soma data

    
for(int i = 0;i< 9999;i++)
        ;

    w.show();
    splash
->finish(&w);
    delete splash;
    
return a.exec();
}
posted @ 2011-08-01 22:16 ccsdu2009 閱讀(507) | 評論 (0)編輯 收藏
 
還不太完善
#ifndef REGISTER_DLG_H
#define REGISTER_DLG_H

#include 
<QtGui/QDialog>
#include 
<QtGui/QVBoxLayout>
#include 
<QtGui/QHBoxLayout>
#include 
<QtGui/QGridLayout>
#include 
<QtGui/QLabel>
#include 
<QtGui/QLineEdit>
#include 
<QtGui/QPushButton>

class RegisterDlg : public QDialog
{
    Q_OBJECT
public:
    RegisterDlg(QWidget 
*parent = 0);
    
~RegisterDlg();
public slots:
    
void checkRegister();
private:
    QVBoxLayout
*  layout;
    QLabel
*       label;
    QGridLayout
*  gridlayout;
    QLabel
*       namelabel;
    QLineEdit
*    nameedit;
    QLabel
*       codelabel;
    QLineEdit
*    codeedit;
    QHBoxLayout
*  hlayout;
    QPushButton
*  confirm;
    QPushButton
*  cancel;
};

#endif
//! ccsdu2004
cxx
#include <QtGui/QMessageBox>
#include 
"registerdlg.h"

RegisterDlg::RegisterDlg(QWidget 
*parent)
    : QDialog(parent)
{
    layout 
= new QVBoxLayout;
    label  
= new QLabel(tr("Please input register info below"));
    layout
->addWidget(label);
    gridlayout 
= new QGridLayout;
    namelabel  
= new QLabel(tr("User Name"));
    nameedit   
= new QLineEdit();
    codelabel  
= new QLabel(tr("Register Code"));
    codeedit   
= new QLineEdit();
    gridlayout
->addWidget(namelabel,0,0);
    gridlayout
->addWidget(nameedit,0,1);
    gridlayout
->addWidget(codelabel,1,0);
    gridlayout
->addWidget(codeedit,1,1);
    layout
->addLayout(gridlayout);
    hlayout 
= new QHBoxLayout;
    confirm 
= new QPushButton(tr("Confirm"));
    cancel  
= new QPushButton(tr("Cancel"));
    hlayout
->addWidget(confirm);
    hlayout
->addWidget(cancel);
    layout
->addLayout(hlayout);
    
this->setLayout(layout);
    
this->setWindowTitle(tr("Register"));

    connect(
this->cancel,SIGNAL(clicked()),this,SLOT(close()));
    connect(
this->confirm,SIGNAL(clicked()),this,SLOT(checkRegister()));
}

RegisterDlg::
~RegisterDlg()
{
}

void RegisterDlg::checkRegister()
{
}
posted @ 2011-08-01 21:55 ccsdu2009 閱讀(821) | 評論 (0)編輯 收藏
 
最近感覺都在瞎忙乎
無論是GUI還是Audio Effect都不能帶來收益
學(xué)了幾年編程
現(xiàn)在發(fā)現(xiàn)居然對UI編程還處于一年級水平
需要提高UI編程能力啊
這簡直就是大BUG
posted @ 2011-07-31 22:16 ccsdu2009 閱讀(494) | 評論 (1)編輯 收藏
 
int strncasecomp(char const *str1, char const *str2, unsigned long len)
{
    signed 
int c1 = 0, c2 = 0;

    
while (len--)
    {
        c1 
= tolower(*str1++);
        c2 
= tolower(*str2++);

        
if (c1 == 0 || c1 != c2)
            
break;
    }

    
return c1 - c2;
}
posted @ 2011-06-16 22:43 ccsdu2009 閱讀(1466) | 評論 (0)編輯 收藏
僅列出標(biāo)題
共38頁: First 17 18 19 20 21 22 23 24 25 Last 
 
青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>
            韩国成人精品a∨在线观看| 久久精品国产91精品亚洲| 欧美日韩一区在线播放| 狼狼综合久久久久综合网| 亚洲自拍偷拍一区| 亚洲一区3d动漫同人无遮挡| 欧美激情一区二区三区全黄 | 国内精品久久久久久久影视麻豆 | 国产日韩欧美不卡在线| 国内精品美女av在线播放| 亚洲国产成人高清精品| 一区二区三区四区五区视频| 亚洲欧美成人网| 久热精品视频在线观看| 最新日韩欧美| 亚洲国产va精品久久久不卡综合| 亚洲人精品午夜| 午夜精品区一区二区三| 久久亚洲影音av资源网| 麻豆精品网站| 国产精品色午夜在线观看| 激情久久五月| 一区二区日韩免费看| 久久综合999| 亚洲深夜av| 美女网站久久| 国产日韩欧美在线看| 9人人澡人人爽人人精品| 久久精品二区三区| 99国内精品久久| 久久青草福利网站| 国产精品久久久久一区二区三区| 在线观看一区二区视频| 午夜久久一区| 亚洲人精品午夜在线观看| 久久久久9999亚洲精品| 国产精品成人播放| 日韩视频亚洲视频| 欧美成人r级一区二区三区| 亚洲香蕉网站| 欧美日韩午夜在线| 日韩一区二区精品在线观看| 老司机久久99久久精品播放免费| 亚洲一区在线播放| 欧美性片在线观看| 日韩一级二级三级| 亚洲国产精品黑人久久久| 久久久综合激的五月天| 国产午夜久久| 亚洲欧美在线一区| 亚洲精品一区在线观看香蕉| 久久网站免费| 激情成人在线视频| 久久婷婷激情| 欧美中文字幕| 国产亚洲一区二区精品| 久久福利资源站| 性亚洲最疯狂xxxx高清| 国产日韩精品入口| 国产精品热久久久久夜色精品三区| 亚洲欧美色婷婷| 欧美国产精品劲爆| 亚洲国产精品电影| 欧美国产精品v| 麻豆久久精品| 亚洲激情欧美| 久久综合狠狠综合久久综合88| 香蕉久久夜色精品国产| 国产日韩欧美a| 久久影院亚洲| 麻豆av一区二区三区久久| 亚洲国产一区在线观看| 欧美激情中文字幕一区二区| 欧美福利视频在线| 亚洲在线视频观看| 欧美一区二区三区在线看| 激情综合亚洲| 亚洲国产婷婷香蕉久久久久久| 欧美成人按摩| 亚洲一区在线观看视频| 性欧美暴力猛交69hd| 亚洲国产成人porn| 夜夜爽www精品| 国产一区av在线| 奶水喷射视频一区| 欧美日韩国产一区二区三区| 亚洲欧美自拍偷拍| 久久天堂国产精品| 99精品欧美一区二区蜜桃免费| 亚洲九九九在线观看| 国产日韩欧美三区| 亚洲高清久久| 国产久一道中文一区| 欧美成在线观看| 欧美吻胸吃奶大尺度电影| 久久www成人_看片免费不卡| 久热精品视频在线观看| 亚洲午夜一二三区视频| 亚洲精品国产品国语在线app| 亚洲一区二区三区精品动漫| 一区二区不卡在线视频 午夜欧美不卡在 | 久久久青草青青国产亚洲免观| 欧美一区二区三区另类 | 欧美精品一区二区三区蜜臀| 亚洲永久字幕| 久久综合给合| 午夜在线a亚洲v天堂网2018| 裸体一区二区| 久久精品久久综合| 欧美日韩在线播放一区| 快播亚洲色图| 国产精品视频午夜| 亚洲淫片在线视频| 欧美~级网站不卡| 久久精品日韩欧美| 国产亚洲成av人在线观看导航| 精品成人一区二区三区| 99这里有精品| 亚洲精品色婷婷福利天堂| 午夜视频久久久| 一本久久综合| 久久视频国产精品免费视频在线| 亚洲欧美日韩区| 欧美日韩一区二区三区视频| 欧美福利电影网| 极品av少妇一区二区| 亚洲欧美日本视频在线观看| 中文在线一区| 欧美美女视频| 亚洲精品123区| 亚洲黄色在线| 免费试看一区| 亚洲高清不卡在线观看| 亚洲激情视频在线| 欧美成年人视频网站欧美| 免费不卡在线视频| 在线观看欧美黄色| 久久天天躁狠狠躁夜夜爽蜜月| 久久嫩草精品久久久精品一| 国产欧美日韩一区二区三区| 亚洲综合导航| 久久久激情视频| 狠狠色狠狠色综合日日tαg| 午夜在线精品偷拍| 久久精品视频在线| 国内成人精品2018免费看| 久久国产一区二区| 免费在线亚洲欧美| 亚洲精品乱码久久久久久蜜桃麻豆| 裸体素人女欧美日韩| 亚洲丁香婷深爱综合| 99国内精品久久| 国产精品高潮视频| 午夜天堂精品久久久久 | 亚洲激情成人在线| 欧美激情第10页| 日韩午夜在线| 久久国内精品视频| 亚洲第一福利视频| 欧美激情日韩| 亚洲网站啪啪| 免费成人av在线| 99精品欧美一区二区蜜桃免费| 欧美视频免费在线观看| 亚洲一区二区欧美日韩| 久久这里只有| 日韩午夜av| 国产免费亚洲高清| 久久综合久久综合久久| 日韩午夜精品| 久久综合五月| 亚洲影音一区| 亚洲国产精品一区二区久| 国产精品久久久久久久久久久久久 | 久久精品国产精品| 欧美激情国产日韩| 亚洲欧美日韩一区二区三区在线 | 亚洲伦理自拍| 午夜精品福利视频| 影音先锋国产精品| 欧美日韩在线视频一区| 欧美一区二区成人6969| 亚洲国产精品成人| 欧美一区高清| 亚洲作爱视频| 尤物在线精品| 国产日韩欧美综合| 欧美日韩国产丝袜另类| 久久精品一区四区| 亚洲一区久久| 亚洲美女精品一区| 欧美高清在线一区| 久久久久久有精品国产| 亚洲图片在区色| 亚洲美女视频在线观看| 精品99视频| 国产一区二区成人久久免费影院| 欧美三级不卡| 欧美国产日韩一二三区| 久久久国产91|